所以,我UINavigationController
嵌入了UITabCarController
index 1
。在此ViewController
上,我向UISearchBar
添加了UINavigationItem
。所以,一切都按预期工作。但是,我需要导航到新的ViewController
,然后导航到嵌入式VC的新实例。
流程如下:
VC 1 -> VC2 -> V1(new instance)
因此,VC1
中嵌入了UINavigationController
。
现在,问题是添加到UIView
的任何UINavigationItem
都不再响应,但它是可见的。我认为它与视图继承人有关。
我尝试了什么:
VC1
的查看/删除时,删除并阅读UISearchBar
消失方法被称为。UISearchBar
上添加UiNavigationBar
作为子视图。self.parentViewController...
UIView's
bringSubViewsToFront
方法将UISearchBar带到前面。这些要么不解决问题,要么提出一些UiSearchBar
根本没有出现的问题。
如果我将UiSearchBar
设置为UITableView
headerView
的一部分,问题就会消失,但这不符合我的UI设计要求,因此不是一个选项。
到目前为止,解决问题的唯一方法是改变VCs
的流量。因此,不是VC2转到VC1的新实例,而是在没有动画的情况下从堆栈弹出VC2
并执行VC1(现有实例)中所需的工作。虽然这很好用,但我觉得对用户来说可能很奇怪,因为他们无法刷回VC2
来为VC1选择不同的选项来进行预处理。他们需要通过原始调用来VC2
。
这是我将UISearchBar
添加到UINavigationItem
:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.navigationItem.titleView = self.searchController.searchBar;