0

我不确定这是如何工作的。我有一个 UITabBarController,其中我的第一个选项卡是 UiNavigationController,它的 rootViewController 有一个 UISearchDisplayController 和 UISearchBar。我将 rootViewController 设置为 UINavigationControllerDelegate。

我这样做:

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
    [self.navigationController.navigationBar setHidden:YES];
}

所以我的导航栏不会显示。那部分有效。在我进行搜索并按 Enter 后,导航栏就会进入并将我的搜索栏推到它下方。这里发生了什么?还有其他地方我需要阻止导航栏显示吗?

我知道我可以以模态方式展示我的视图控制器,因为这是我以前做的。但是除了 navBar 问题之外,没有其他理由以模态方式呈现它。一旦进行了搜索并且用户选择了一些东西以进入该项目的更详细的视图,那么我曾经在那里创建了一个 navigationController。如果我在根目录下只有一个 UINavigationController 似乎会更好,因为就像我说的那样,没有理由以模态方式呈现详细列表。谢谢!

4

1 回答 1

0

尝试更换

[self.navigationController.navigationBar setHidden:YES];

[self.navigationController setNavigationBarHidden:YES animated:NO];
于 2012-07-07T17:10:42.943 回答