UISearchContainerViewController 是否在 iOS 上工作
Does UISearchContainerViewController work on iOS
UISearchContainerViewController 在 tvOS 和 iOS 上都存在。
Apple 有展示如何在 tvOS 中使用它的示例代码:他们配置了一个 UISearchController,将其交给 UISearchContainerViewController,将其包装在 UINavigationController 中,并使其成为一个UITabBarController 的子项。
但我从未在 iOS 上看到 UISearchContainerViewController 的示例,我无法让它在那里工作。例如,除了我将 UISearchContainerViewController 推送到导航堆栈上,或者我将它包装在导航控制器中并呈现它,或者其他任何方式之外,我完全按照 Apple 的方式进行操作;而且没有搜索栏所以整个东西都没用。
有没有人让 UISearchContainerViewController 在 iOS 上做任何有用的事情?
我正在寻找同一问题的答案。但我是这样工作的:
基础VC
let vc = SearchContainerVC()
let nav = UINavigationController(rootViewController: vc)
self.present(nav, animated: true, completion: nil)
SearchContainerVC
class SearchContainerVC: UISearchContainerViewController {
init() {
let searchResultsTableVC = SearchResultsTableViewController()
let searchVC = UISearchController(searchResultsController: searchResultsTableVC)
searchVC.searchBar.searchBarStyle = .minimal
searchVC.searchBar.showsCancelButton = true
searchVC.searchBar.delegate = searchResultsTableVC
searchVC.searchResultsUpdater = searchResultsTableVC
let searchBar = searchVC.searchBar
searchBar.delegate = searchResultsTableVC
searchBar.sizeToFit()
searchBar.placeholder = "Search for something"
searchVC.hidesNavigationBarDuringPresentation = false
searchVC.dimsBackgroundDuringPresentation = true
super.init(searchController: searchVC)
navigationItem.titleView = searchBar
}
}
SearchResultsTableViewController
class SearchResultsTableViewController: UITableViewController {
// I use a Table to show search items
}
UISearchContainerViewController 在 tvOS 和 iOS 上都存在。
Apple 有展示如何在 tvOS 中使用它的示例代码:他们配置了一个 UISearchController,将其交给 UISearchContainerViewController,将其包装在 UINavigationController 中,并使其成为一个UITabBarController 的子项。
但我从未在 iOS 上看到 UISearchContainerViewController 的示例,我无法让它在那里工作。例如,除了我将 UISearchContainerViewController 推送到导航堆栈上,或者我将它包装在导航控制器中并呈现它,或者其他任何方式之外,我完全按照 Apple 的方式进行操作;而且没有搜索栏所以整个东西都没用。
有没有人让 UISearchContainerViewController 在 iOS 上做任何有用的事情?
我正在寻找同一问题的答案。但我是这样工作的:
基础VC
let vc = SearchContainerVC()
let nav = UINavigationController(rootViewController: vc)
self.present(nav, animated: true, completion: nil)
SearchContainerVC
class SearchContainerVC: UISearchContainerViewController {
init() {
let searchResultsTableVC = SearchResultsTableViewController()
let searchVC = UISearchController(searchResultsController: searchResultsTableVC)
searchVC.searchBar.searchBarStyle = .minimal
searchVC.searchBar.showsCancelButton = true
searchVC.searchBar.delegate = searchResultsTableVC
searchVC.searchResultsUpdater = searchResultsTableVC
let searchBar = searchVC.searchBar
searchBar.delegate = searchResultsTableVC
searchBar.sizeToFit()
searchBar.placeholder = "Search for something"
searchVC.hidesNavigationBarDuringPresentation = false
searchVC.dimsBackgroundDuringPresentation = true
super.init(searchController: searchVC)
navigationItem.titleView = searchBar
}
}
SearchResultsTableViewController
class SearchResultsTableViewController: UITableViewController {
// I use a Table to show search items
}