【发布时间】:2019-05-15 21:59:33
【问题描述】:
我有点卡在这里。我在导航栏中嵌入了一个搜索栏作为我想要的标题。
但是接下来我想导航到另一个视图控制器,其中包含集合视图中的 UIsearchcontroller,当点击取消时,用户将返回到前一个视图。 (非常类似于 Facebook 或 Instagram 对搜索栏控制器的使用)
我是否可以将搜索栏用作按钮来导航到处理所有搜索功能的下一个视图控制器?
这是我目前的搜索栏。
func setUpNavBar() {
let searchBar = UISearchBar()
searchBar.sizeToFit()
searchBar.searchBarStyle = .minimal
searchBar.placeholder = "Search by username"
searchBar.tintColor = UIColor.lightGray
searchBar.barTintColor = UIColor.lightGray
navigationItem.titleView = searchBar
searchBar.isTranslucent = true
}
编辑
只是添加到下面的答案中,如果有人遇到此问题并且您希望获得将搜索栏视为按钮使用的效果
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
self.present(UINavigationController(rootViewController: SearchBarController()), animated: true, completion: nil)
searchBar.setShowsCancelButton(false, animated: true)
return false
}
这样,当您单击搜索栏时,您不会获得显示搜索栏处于活动状态的效果(如果有意义的话)。当您点击搜索栏时,没有任何效果,它只是将您带到(真正的)搜索视图控制器,然后搜索栏处于活动状态,并且键盘显示带有取消按钮。我希望这是有道理的,如果有人想要一个示例,请前往 Instagram、FB 或 Pinterest,然后点击他们的搜索栏或搜索图标,您就会看到。
【问题讨论】:
标签: ios swift xcode search uisearchbar