gpt4 book ai didi

ios - 单击搜索栏后 UISearchBar 消失

转载 作者:可可西里 更新时间:2023-11-01 06:17:18 25 4
gpt4 key购买 nike

我已经搜索了关于 UISearchBar 的所有其他问题,但似乎没有任何内容可以回答我的问题。我在顶部有一个导航 View 和一个带有 UISearchBar 的表格 View 。当我点击搜索栏时,tableview 变暗,键盘出现,两者都应该,但 uisearchbar 消失了。如果我点击变暗的 tableview,键盘将消失,黑暗消失,UISearchBar 重新出现。知道它为什么消失了吗?

下面是扩展 UITableViewController 的类中的一些代码:

searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 44)];
searchBar.delegate = self;
searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;
searchDisplayController.searchResultsDelegate = self;
//[self.tableView insertSubview:self.searchDisplayController.searchBar aboveSubview:self.tableView];
self.tableView.tableHeaderView = searchDisplayController.searchBar;

在我的 .h 文件中,我采用了这些协议(protocol):` 但我没有实现它们的任何方法,除了:

- (void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView
{
[tableView registerClass:[EmailCell class] forCellReuseIdentifier:mailCellIdentifier];
}

编辑:

我特意将tableview往下移,让top navigation view和tableview之间有空白,发现searchbar并没有消失,而是在点击UISearchBar时在屏幕上往上移,占据了我添加的空白。有什么想法吗?

最佳答案

添加这个方法

- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
{
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
[self.tableView insertSubview:self.searchDisplayController.searchBar aboveSubview:self.tableView];
}
}

有关更多详细信息,请查看此 link

关于ios - 单击搜索栏后 UISearchBar 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23882808/

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