【发布时间】:2023-03-08 00:23:01
【问题描述】:
我的 UISearchController 的结果在一个单独的 UITableViewController (TableSearch) 中。
我希望,当我们选择一行时,显示带有 navBar 和 tabBar 的 DetailViewController,并有通向 SearchViewController 的后退按钮。
我试过了:
dispatch_async(dispatch_get_main_queue(), { () -> Void in
var viewController = UIViewController()
titreDetail = "Boo"
viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Detail") as! DetailViewController
self.showViewController(viewController, sender: nil)
})
但它呈现的 DetailViewController 没有 navBar 和 tabBar。
我试过这个之后:
dispatch_async(dispatch_get_main_queue(), { () -> Void in
//SearchViewController
var vc = UIViewController()
vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Search") as! SearchViewController
//DetailViewController
var viewController = UIViewController()
titreDetail = "Boo"
viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Detail") as! DetailViewController
vc.showViewController(viewController, sender: nil)
})
什么都没有发生..
我怎样才能拥有类似的东西:
SearchTable -> SearchViewController -> DetailViewController ?
谢谢!
【问题讨论】:
-
使用
pushViewController而不是presentViewController -
我试过 vc.navigationController?.pushViewController(viewController, animated: true) 和 self.navigationController?.pushViewController(viewController, animated: true)。什么都没有发生.. SearchTable 没有链接到 navigationController..
-
你要么必须先弹出 searchTable,要么为新的 ViewController 再次创建 navBar/tabBar,或者也推送 searchTable 以继承 navBar/tabBar
-
好了,tabBar显示在SearchTable上,UISearch outler在navBar中。而且我的 DetailViewController 没有嵌入到导航控制器中。即使我重新创建 tabBar 和 navBar,视图仍然会弹出。(我尝试使用他们的搜索视图获得与 Instagram 相同的结果!)
标签: swift segue viewcontroller pushviewcontroller presentviewcontroller