iOS-如何在滚动UITableView时减少UINavigationBar标题视图的alpha?
我正在寻找一种方法,在向下滚动UITableView时,将UINavigationBar标题视图alpha通道减少为零,在向上滚动时,则相反iOS-如何在滚动UITableView时减少UINavigationBar标题视图的alpha?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我正在寻找一种方法,在向下滚动UITableView时,将UINavigationBar标题视图alpha通道减少为零,在向上滚动时,则相反 使用scrollViewDidScroll委托有什么干净的方法可以做到这一点吗?您可以使用scrollView的contentOffset值来确定其与顶部的距离,从而相应地设置alpha。您可以使用scrollView的contentOffset值来确定其与顶部的距离,从而设置alpha因此。超级简单,只需将其放入导航控制器中的表视图控制器中: -(voi
使用scrollViewDidScroll委托有什么干净的方法可以做到这一点吗?您可以使用scrollView的contentOffset值来确定其与顶部的距离,从而相应地设置alpha。您可以使用scrollView的contentOffset值来确定其与顶部的距离,从而设置alpha因此。超级简单,只需将其放入导航控制器中的表视图控制器中:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
self.navigationController.navigationBar.alpha = 1 - (self.tableView.contentOffset.y / (self.tableView.contentSize.height - self.tableView.frame.size.height));
}
减去
self.tableView.frame.size.height
是因为contentOffset
是从顶部设置的,所以即使在最低位置也会被框架的宽度隔开;0-100的范围是0到(contentSize.height
-frame.size.height
) 超级简单,只需将其放入导航控制器中的表视图控制器中:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
self.navigationController.navigationBar.alpha = 1 - (self.tableView.contentOffset.y / (self.tableView.contentSize.height - self.tableView.frame.size.height));
}
减去self.tableView.frame.size.height
是因为contentOffset
是从顶部设置的,所以即使在最低位置也会被框架的宽度隔开;0-100的范围是0到(contentSize.height
-frame.size.height
)