【发布时间】:2019-08-30 12:27:26
【问题描述】:
我有一个推送UITabBarController 的导航控制器。所以,我所有的标签视图控制器都将共享同一个导航栏。到目前为止没有问题,因为我每次调用 tabBarController(_:didSelect:) 时都会设置导航项的内容。
假设我们在标签栏中只有 2 个控制器,每个控制器都有一个 UISearchController。附加到导航项后,每次调用 tabBarController(_:didSelect:) 时都会配置此搜索控制器。
直到现在,一切都按要求工作和看起来。
问题是,当我从第一个控制器点击搜索栏时,键盘出现并且搜索正常,但是当我从第二个控制器点击搜索栏时,没有任何反应。
[在第二个标签中]
我知道调用了UISearchBarDelegate 的searchBarShouldBeginEditing(_:),但是如果我尝试使用该方法设置searchController.isActive = true,那么应用程序将崩溃并显示以下消息:Attempt to present UISearchController on <FirstTabViewController> whose view is not in the window hierarchy。
你遇到过这个问题吗?
【问题讨论】:
标签: ios swift uitabbarcontroller uisearchcontroller