UINavigationController 中的 UIPageViewController,NavigationBar 行为不正确

Posted

技术标签:

【中文标题】UINavigationController 中的 UIPageViewController,NavigationBar 行为不正确【英文标题】:UIPageViewController within UINavigationController, NavigationBar behaves not correct 【发布时间】:2013-11-19 00:16:58 【问题描述】:

我有一个 uinavigationcontroller,我在其中推送一个带有 UIViewController1、UIViewcontroller2、...的 UIPageViewController! 我想在 UIViewController1 上有导航栏,但不在另一个 UIViewController 上。 所以在第一个 UIViewController1 我会有:

- (void)viewWillAppear:(BOOL)animated

    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:NO];

在另一个 UIViewController2, UIViewController3, ....

- (void)viewWillAppear:(BOOL)animated

    [super viewWillAppear:animated];
    [self.navigationController YES animated:NO];

当我前进时一切正常!但是如果我从 UIViewController3 移动到 UIViewController2 后向后滑动,导航栏突然出现在 UIViewController2 上。我猜在我查看 UIViewController2 时 UIViewController1 已经出现了,突然它收到了显示 UINavigationBar 的通知。

将命令放入 UINavigationBarDidAppear 并不能解决问题 :-( 有人可以帮帮我吗?

【问题讨论】:

【参考方案1】:

找到了答案。实际上一切正常。我猜我只是被我的意大利面条代码愚弄了。

我没有注意到我已经在 loadview 方法中隐藏了导航栏,然后又在 viewWillAppear 方法中隐藏了导航栏。在 loadView 中删除它后,它的工作完美!

【讨论】:

以上是关于UINavigationController 中的 UIPageViewController,NavigationBar 行为不正确的主要内容,如果未能解决你的问题,请参考以下文章

(Swift) 在嵌套在 Main UINavigationController 中的 UINavigationController 和 UITabController 之间切换

UINavigationController 中的常量 UIBarButtonItem

UINavigationController 中的 setAlpha

UINavigationController:调整大小动画中的标题跳转

UIPopoverController 中的 UINavigationController:设置标题

UITabBarController 问题中的 UINavigationController