滚动时暂时隐藏工具栏
Posted
技术标签:
【中文标题】滚动时暂时隐藏工具栏【英文标题】:Hiding Toolbar temporarily while scrolling 【发布时间】:2013-03-10 11:07:42 【问题描述】:我有一个UITableView
和一个UINavigationController
+UIToolbar
我想在用户滚动表格时隐藏工具栏。 我使用这个隐藏工具栏:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
[self.navigationController setToolbarHidden:YES animated:YES];
在表格停止滚动后再次显示工具栏:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
[self.navigationController setToolbarHidden:NO animated:YES];
如果我让桌子自行减速,这会很好。但是,如果通过触摸表格来停止滚动,这将不起作用。
我应该使用另一个特定的委托函数吗?
编辑: 我也试过方法:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
没有区别。
【问题讨论】:
尝试在– scrollViewDidEndDragging:willDecelerate:
或– scrollViewWillEndDragging:withVelocity:targetContentOffset:
这个方法中显示工具栏,他们应该可以解决问题
– scrollViewDidEndDragging:willDecelerate: 做到了!
【参考方案1】:
使用UIScrollViewDelegate
协议中的此方法。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
【讨论】:
以上是关于滚动时暂时隐藏工具栏的主要内容,如果未能解决你的问题,请参考以下文章
CollapsingToolbarLayout 并在滚动时隐藏工具栏