gpt4 book ai didi

ios - UISearchController 搜索栏在事件时与第一个单元格重叠

转载 作者:行者123 更新时间:2023-12-03 19:30:22 26 4
gpt4 key购买 nike

我正在使用 UISearchController 在我的表格 View 中搜索数据。我没有使用 TableView Controller 。我想在搜索栏处于事件状态时隐藏导航栏,因此我将 self.searchController.hidesNavigationBarDuringPresentation = YES; 设置为 yes。

但是,当我执行此操作并想要搜索时,我的事件搜索栏覆盖了第一个单元格的一部分。被覆盖的部分与状态栏高度相同。

status bar active

我尝试了与此类似的其他文章和问题,但没有任何帮助我解决它。然后我开始调整 TableView 标题的大小。我这样做了

 -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

return 20.0f;
}

结果是,当我点击搜索栏时,开始搜索的问题不再存在。

search controller with header size 20

但是,当搜索栏未处于事件状态时,搜索栏和第一个单元格之间会出现间隙

enter image description here

有什么想法可以解决这个问题吗?

编辑:添加self.automaticallyAdjustsScrollViewInsets = false;

enter image description here

最佳答案

我通过将 RJiryes 答案与滚动到顶部结合起来解决了这个问题。

-(void)willPresentSearchController:(UISearchController *)searchController{

[self.contactsTableView setContentInset:UIEdgeInsetsMake(20, 0, 0, 0)];
[self.contactsTableView setContentOffset:CGPointMake(0.0f, -self.contactsTableView.contentInset.top) animated:YES];
}

-(void)willDismissSearchController:(UISearchController *)searchController{

[self.contactsTableView setContentInset:UIEdgeInsetsMake(0, 0, 0, 0)];
}

关于ios - UISearchController 搜索栏在事件时与第一个单元格重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com