我一直在与导航栏项目的奇怪行为挣扎一段时间。我在导航栏上有分段控件(请看下面的图像)
其中列表按钮使用UISearchDisplayController推送表视图控制器。要显示表视图控制器,我使用以下代码:
if (uiSegmentedControl.selectedSegmentIndex == 1 )
{
DetailsTableVewController* detailsViewController = [[DetailsTableVewController alloc]
initWithList:list];
[self.navigationController pushViewController:detailsViewController animated:YES];
[detailsViewController release];
}
然后返回我使用以下代码:
[self.navigationController popViewControllerAnimated:YES];
虽然当UISearchDisplayController处于活动状态或非活动状态时,我使用上面的代码返回上一个控制器,但我有不同的导航栏项行为。当UISearchDisplayController处于活动状态时所有项目从导航栏中消失
有人知道为什么会这样吗? 提前谢谢。
答案 0 :(得分:1)
将所有导航栏初始化代码从viewDidLoad
移动到控制器中的viewWillAppear
,它解决了问题