Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Uiviewcontroller UISearchController可见时,切换到其他选项卡时,UINavigationController将消失_Uiviewcontroller_Uinavigationcontroller_Uitabbarcontroller_Uisearchcontroller - Fatal编程技术网

Uiviewcontroller UISearchController可见时,切换到其他选项卡时,UINavigationController将消失

Uiviewcontroller UISearchController可见时,切换到其他选项卡时,UINavigationController将消失,uiviewcontroller,uinavigationcontroller,uitabbarcontroller,uisearchcontroller,Uiviewcontroller,Uinavigationcontroller,Uitabbarcontroller,Uisearchcontroller,在我的应用程序中,我有一个uitabarcontroller和几个UINavigationController。我正在尝试添加一个搜索功能,比如在苹果的音乐应用程序中,在每个UIViewController的navigationItem中都会出现一个搜索图标。点击此图标时,将显示一个UISearchController 我面临的问题是,如果我显示UISearchController并切换到其他选项卡(在UISearchController的搜索栏中键入任何内容之前),当我返回该选项卡时,UINa

在我的应用程序中,我有一个
uitabarcontroller
和几个
UINavigationController
。我正在尝试添加一个搜索功能,比如在苹果的音乐应用程序中,在每个
UIViewController
navigationItem
中都会出现一个搜索图标。点击此图标时,将显示一个
UISearchController

我面临的问题是,如果我显示
UISearchController
并切换到其他选项卡(在
UISearchController
搜索栏中键入任何内容之前),当我返回该选项卡时,
UINavigationController
将不再可见。即使我取消搜索,
UISearchController
也会被取消,但我看不到我原来的
UINavigationController
。如果在切换到不同的搜索栏并返回之前在搜索栏中键入了内容,搜索结果将始终可见,但当我关闭
UISearchController
my
UINavigationController
时,不会显示。我只能看到
UITabBarController
tabBar
,其他所有东西都是白色的

但是,如果一旦禁用了
UISearchController
,如果转到另一个选项卡,然后返回到原始选项卡,则会再次出现
UINavigationController

下面是my
UIViewController
子类的代码:

let searchResultsController = SearchResultsController()
var searchController: UISearchController!
var searchButton: UIBarButtonItem!

override func viewDidLoad() {
    super.viewDidLoad()

    searchButton = UIBarButtonItem(barButtonSystemItem: .Search, target: self, action: Selector("showSearch:"))
    navigationItem.rightBarButtonItem = searchButton

    searchController = UISearchController(searchResultsController: searchResultsController)
    searchController.searchResultsUpdater = self
    searchController.searchBar.delegate = self
    searchController.hidesNavigationBarDuringPresentation = false
    searchController.dimsBackgroundDuringPresentation = false
}

func showSearch(sender: AnyObject? = nil) {
    presentViewController(searchController, animated: true, completion: nil)
}
这在这里解决了可能的重复