setNavigationBarHidden:YES不适用于searchDisplayController

sor*_*ora 8 iphone xcode uisearchdisplaycontroller

我正在使用以下代码在detailViewController(我的第二个视图)中隐藏我的navigationBar,当我从MasterViewController(我的第一个视图)中点击任何一个对象时,它工作得很好.

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];  
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用searchDisplayController过滤masterViewController中的表列表并从结果中点击任何对象时,detailView中的navigationBar不会被隐藏...

如果我使用searchDisplayController,是否还需要做额外的工作来隐藏navigationBar?

对于Debug,我在setNavigationBarHidden行上设置断点:YES,即使我通过搜索结果转到detailViewController,应用程序也会遇到行.

小智 13

你shuold put [self.navigationController setNavigationBarHidden:YES]; 在viewWillLayoutSubviews function.like this:

- (void) viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];
    [self.navigationController setNavigationBarHidden:YES];
}
Run Code Online (Sandbox Code Playgroud)

有用.