当y边界达到0(或超出 - 值)
时,我想锁定表格视图顶部的搜索栏我尝试在滚动视图委托方法中,但没有真正改变。实际上,搜索栏的框架已更改,但仍然表现为默认框架。
有什么想法吗?
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
UISearchBar *searchBar = self.searchDisplayController.searchBar;
CGRect rect = searchBar.frame;
rect.origin.y = MAX(0, scrollView.contentOffset.y);
self.searchDisplayController.searchBar.frame = CGRectMake(0,MAX(0,scrollView.contentOffset.y),320,44);
}
答案 0 :(得分:1)
在viewdidload方法中,您需要偏移表视图:
self.tableView.contentOffset = CGPointMake(0.0, 44.0);
然后在IB中,在UINavigation控制器中拖动UITableview上方的搜索栏 或者可以添加它。
答案 1 :(得分:0)
如果您在iOS 6.0 +上运行,则需要致电setNeedsLayout
。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
UISearchBar *searchBar = self.searchDisplayController.searchBar;
CGRect rect = searchBar.frame;
rect.origin.y = MAX(0, scrollView.contentOffset.y);
[scrollView setNeedsLayout]; // <-- Call setNeedsLayout here.
self.searchDisplayController.searchBar.frame = CGRectMake(0,MAX(0,scrollView.contentOffset.y),320,44);
}