这一定是微不足道的,但我无法find你应该以编程方式解雇一个UISearchController? 请注意,这是新的UISearchController(2014年推出的iOS 8),而不是UISearchDisplayController。 到目前为止,这是我得到的 // Dismiss the search tableview searchController.dismissViewControllerAnimated() // Clear the Search bar text searchController.active = false 但我仍然有取消button,不能摆脱它。
我正在使用UISearchController在tableview的标题视图内显示一个search栏: … self.searchController.hidesNavigationBarDuringPresentation = NO; self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar; [self.searchController.searchBar sizeToFit]; self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar; (其中设置tableHeaderView属性两次是必要的,否则标题视图重叠第一行,参考几个答案 ) 这是它看起来的样子,完全处于非活动状态时的位置: search栏应该保持在活动状态 – 我不希望它向上移动以隐藏导航栏。 但它意外地缩小了,在它和导航栏之间留下了一个空白区域: 这是一个奇怪的search栏animationvideo 如果我只是单独使用search栏从UISearchController,它不会显示相同的行为,当它变为活动。 在我的呈现视图控制器中,我有self.definesPresentationContext = YES; 和self.navigationController.navigationBar.translucent = YES; ,而在IB中,没有任何“扩展边缘”框是活动的(所有这些似乎都是可能导致search呈现的东西,从阅读的周围)。 有谁知道我可以停止search栏从animation下来?
结构: View1(点击一个button) – >现在模态(MyModalView:UITableViewController) MyModalViewembedded了UISearchController。 UISearchController的searchBar放置在MyModalView.tableView.tableHeaderView中。 从iOS 8.0开始,它一直在正常工作。 但是,在iOS 9上,当UISearchController处于活动状态时,searchBar会消失。 请看下面的这些照片 模态观点: UISearchController在iOS 8上处于活动状态: UISearchController在iOS 9上处于活动状态: 非常标准的代码: override func viewDidLoad() { super.viewDidLoad() // Dynamically create a search controller using anonymous function self.resultSearchController = ({ let controller = UISearchController(searchResultsController: nil) controller.searchResultsUpdater = self controller.dimsBackgroundDuringPresentation = false controller.searchBar.sizeToFit() controller.searchBar.delegate = self self.tableView.tableHeaderView = controller.searchBar return controller })() […]
我有UISearchController' in my UIVIew's viewDidLoad创build一个UISearchController' in my UIVIew's代码。 self.resultSearchController = ({ let controller = UISearchController(searchResultsController: nil) controller.searchResultsUpdater = self controller.searchBar.delegate = self controller.dimsBackgroundDuringPresentation = false controller.searchBar.sizeToFit() controller.hidesNavigationBarDuringPresentation = false //prevent search bar from moving controller.searchBar.placeholder = "Search for song" self.myTableView.tableHeaderView = controller.searchBar return controller })() 在此closures完成后,此警告将显示在控制台中: Attempting to load the view of a view controller […]