iphone - 将 UISearchBar 锁定在 TableView 之上

标签 iphone ios tableview searchbar

当 y 边界达到 0(或超过 - 值)时,我想在 TableView 顶部锁定搜索栏

我尝试在 ScrollView 中使用委托(delegate)方法,但没有真正改变。事实上,搜索栏的框架发生了变化,但仍按默认方式运行。

有什么想法吗?

- (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);
}

最佳答案

在您的 viewdidload 方法中,您需要偏移 TableView :

self.tableView.contentOffset = CGPointMake(0.0, 44.0);

然后在 IB 中将搜索栏拖到 UINavigation Controller 中的 UITableview 上方 或者以编程方式添加它。

关于iphone - 将 UISearchBar 锁定在 TableView 之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12774489/

相关文章:

iphone - 是否可以通过SDK获取用户的apple ID?

objective-c - 在我的 xib 文件中委托(delegate)给文件所有者是什么意思?

IOS Searchbar 返回错误数据

iphone - 无法使用NSPredicate从日期数组中获取日期

iphone - 在 iPhone 上将 UIImage 设置为 2D OpenGL ES 的背景

ios - React Native ios 构建 - 修改node_modules包中的文件

ios - 使用 Autolayout 动态设置 UIScrollView 内容

IOS 呈现 Viewcontroller 并在 editActionsForRowAt 内部传递数据

mysql - 检索数据的最佳实践? SQL 数据库与 HTML 解析

ios - 来自单个 UIButton 的多个 Segue,该 UIButton 由于 ImageView 而发生变化