0

我在一个令人困惑的情况下进货。我正在使用导航控制器和 UIPageViewController。

首先我们有一个视图,其中包含一个带有 searchDisplayController 的 TableView。此表视图显示故事列表。您可以选择一个单元格并转到另一个视图(基于页面的视图)并阅读故事。所以在第二个视图中我隐藏了导航栏。因为读者想要卷曲页面。

在这里一切正常,直到我在 searchBar (第一个视图)中搜索一个单词并选择单元格后,然后转到第二个视图,导航栏不会隐藏!

两个视图都继承自 UIViewController。

在第二种观点中,我这样做了:

- (void)viewWillAppear:(BOOL)animated
{
  [super viewWillAppear:animated];

  [self.navigationController setNavigationBarHidden:YES animated:animated];
    if (self.navigationController.navigationBarHidden) {
        NSLog(@"navigation bar is hidden");
    }

}

即使我明确隐藏导航栏,当它到达 If 语句时,导航栏似乎没有隐藏。

我究竟做错了什么?

4

3 回答 3

0

不要隐藏导航栏。只需降低其 alpha。

self.navigationController.navigationBar.alpha =0;
于 2013-06-14T07:38:26.843 回答
0

在 appDelegate.m 中执行此操作

[self.navigationController setNavigationBarHidden:YES];  

在 alloc 启动 UINavigation 控制器之后并将其添加到窗口之前。

于 2013-06-14T07:43:52.613 回答
0

我在这里找到了答案:

https://stackoverflow.com/a/6337037/1348121

UISearch 显示控制器有一个内置的导航栏,我们必须以某种方式破解它以禁用它。

于 2013-06-16T08:38:24.460 回答