我在某些地方看到了这个问题,但没有人帮助过我。现在一直在寻找,所以我在这里问一下。
我对UISearchDisplayController
有疑问。 tableView
这个正在制作并不是整个屏幕,只有右侧:
当我点击顶部的搜索栏时,它跳转到:
当我实际搜索时,这就是我得到的:
我已经尝试了几种解决方案'像:
- (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)锁定到视图中?
THX!
答案 0 :(得分:0)
我试图让搜索控制器以这种方式工作,并且在搜索结果tableview没有处于正确位置且搜索栏也不在正确位置时遇到了很多问题。似乎苹果的默认设计将这些动画设置为顶部,并没有真正为您提供太多信息或控制如何完成。
虽然我不确定是否有办法将searchBar锁定到视图中(并且始终使searchResultsTableView正确定位),因为可能有一种方法可以做到这一点,我不会这样做。我知道,但我认为这不值得。
相反,我建议您制作自己的搜索栏和searchresultstableview,您可以随时控制,动画和定位,无论何时您想要,都不会头痛。使您的searchresultstableview隐藏,直到他们进入文本字段或开始输入,然后根据需要显示它。如果您希望它看起来一样,那么您必须使用UIBezierPath绘制自己的搜索图标和搜索栏,或者您可以添加自己的图像。