滚动时防止搜索栏消失
Posted
技术标签:
【中文标题】滚动时防止搜索栏消失【英文标题】:Keeping UISeachBar from dissappearing when scrolling 【发布时间】:2012-03-01 01:54:12 【问题描述】:问题
我想将 UISearchBar 保留在 UITableview 的顶部,但是当我向下滚动时它会随着列表一起滚动。
我找到了这篇文章并关注了它link
它告诉我使用此代码
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
// UISearchBar *searchBar = searchDisplayController.searchBar;
searchBar = self.searchDisplayController.searchBar;
CGRect rect = searchBar.frame;
rect.origin.y = MAX(0, scrollView.contentOffset.y);
searchBar.frame = rect;
我可能遗漏了一些东西,但是调用了这个方法但 UISearchBar 仍然消失了。
【问题讨论】:
应该是MIN,链接是游戏中心的工具栏,锁定在navigationBar的底部。你想要一个与滚动视图一起滚动的栏。 您确定该方法正在被调用并且 searchBar 不是 nil 吗? 您是否尝试过在滚动视图之外添加搜索栏以使其保持在顶部? @CodaFi 对不起,我把它设置为 MIN,我只是希望搜索栏在用户滚动时保持在导航栏下方。这样他们就可以在列表中的任何位置进行搜索,而不仅仅是在顶部 如@LuisOscar 所说,将搜索栏放在滚动视图之外。 【参考方案1】:好的,所以解决方案比我预期的要容易得多。我在 IB 中所要做的就是将 SearchBar 拖出视图,使其不再嵌套。
【讨论】:
这太不可思议了,但这种情况发生在我的 ios 7 和 Xcode 5 中。简单的解决方案。 如何使用 xcode 7(在对象库中找不到)和 UISearchController ?【参考方案2】:苹果开发者论坛有一个名为“advanced_scroll_view_techniques.pdf”的文档,可以帮助您。
文档:https://developer.apple.com/devcenter/download.action?path=/wwdc_2011/adc_on_itunes__wwdc11_sessions__pdf/104_advanced_scroll_view_techniques.pdf
示例代码:http://developer.apple.com/library/ios/samplecode/StreetScroller/Introduction/Intro.html
【讨论】:
以上是关于滚动时防止搜索栏消失的主要内容,如果未能解决你的问题,请参考以下文章
防止 UICollectionView 中每个 UICollectionViewCell 中的内容在我滚动时发生变化?