我在一些地方见过这个问题,但没人帮我。我已经找了很久了,所以我就在这里问。
我对UISearchDisplayController有个问题。它正在运行的tableView不会占用整个屏幕,只会占用右侧:

当我点击顶部的searchBar时,它会跳到以下内容:

当我真正搜索的时候,我得到的是:

我尝试过几种“解决方案”,比如:
- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController
*)controller {
controller.searchBar.frame = CGRectMake(300, 20, 744, 44);
}
- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {
tableView.frame = CGRectMake(0, 0, self.carListDropbox.frame.size.width,
self.carListDropbox.frame.size.height);
}
- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView {
tableView.frame = self.carListDropbox.frame;
}他们似乎根本帮不上忙。还有其他方法可以将searchBar (和UISearchDisplayController)锁定到视图中吗?
谢谢!
发布于 2014-12-11 17:57:58
我试图让搜索控制器以这种方式工作,并且在搜索结果表视图不正确的位置和搜索栏也没有处于正确的位置上有很多问题。苹果对这些动画的默认设计似乎把它推到了顶端,实际上并没有给你多少信息,也没有给你太多的控制。
虽然我不确定是否有一种方法可以将searchBar锁定到视图中(并让searchResultsTableView始终保持正确的位置),因为可能有一种我不知道的方法,但我认为这不值得。
相反,我建议制作您自己的搜索栏和搜索结果稳定视图,您可以控制,动画和位置,无论何时你想要,没有头痛。将搜索结果稳定视图隐藏起来,直到他们输入文本字段或开始键入文本字段,然后按需要显示。如果您希望它看起来一样,您将不得不绘制您自己的搜索图标和搜索栏,这对UIBezierPath并不太困难,或者您可以添加您自己的图像。
https://stackoverflow.com/questions/27428402
复制相似问题