我在 TableView 中实现了 UISearchController,由导航控制器推动。
首先我的问题是,每当我单击搜索栏时,它就会消失。当我输入一些文本时它起作用,但它保持完全空白。然后我设法使用以下代码半解决了该问题:
- (void)searchForText:(NSString*)searchText
{
[self.view addSubview:villeSearchController.searchBar];
}
哪个半有效,因为现在,当我单击搜索栏时,它会空白,但如果我输入一个字符,它会再次出现,然后无论如何它都会留在那里。直到我取消搜索并再次单击它,在这种情况下它会显示为空白。
我做了一些测试,并且在第一次单击时调用此方法(searchForText),所以这不是原因。
有谁知道我如何解决这个问题并使搜索栏从第一次点击时出现?
EDIT:
这就是我初始化 SearchController 的方式:
villeSearchController = [[UISearchController alloc] initWithSearchResultsController:nil];
villeSearchController.searchResultsUpdater = self;
villeSearchController.dimsBackgroundDuringPresentation = NO;
villeSearchController.searchBar.delegate = self;
villeTableView.tableHeaderView = villeSearchController.searchBar;
villeSearchController.searchBar.scopeButtonTitles = @[];
self.definesPresentationContext = YES;
[villeSearchController.searchBar sizeToFit];
这发生在我身上,当UISearchController
隐藏了导航栏。设置此属性修复了它:
UISearchController.hidesNavigationBarDuringPresentation = NO;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)