iOS:SWRevealViewController 不显示导航栏

Posted

技术标签:

【中文标题】iOS:SWRevealViewController 不显示导航栏【英文标题】:iOS: SWRevealViewController not showing navigation bar 【发布时间】:2017-05-11 16:43:50 【问题描述】:

我正在尝试使用 SWRevealViewController 实现幻灯片菜单。这是我的故事板:

这是我从主 viewController 加载视图控制器的方式:

-(void)viewDidAppear:(BOOL)animated

    [super viewDidAppear:YES];
    UIStoryboard *stryBoard=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
    [stryBoard instantiateViewControllerWithIdentifier:@"NewViewController"];
    NewViewController *vc = [stryBoard instantiateViewControllerWithIdentifier:@"NewViewController"];
    [self presentViewController:vc animated:YES completion:nil];

你们中的任何人都知道为什么我的设备上没有显示导航栏吗?或者我做错了什么让导航栏没有显示?

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

我认为您的导航栏丢失了,因为您通过以下方式以模态方式呈现您的“NewViewController”:

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion;

根据您的要求,您有三种选择来解决此问题:

    使用以下方法将“NewViewController”推送到作为 UINavigationController 的初始 ViewController:

    [self.navigationController pushViewController:vc animated:YES];
    

    以模态方式展示您的 NavigationController(您的“NewViewController”是 rootViewController);

    (我猜这就是您想要的) 以模态方式展示您的 SWRevealViewController;

【讨论】:

以上是关于iOS:SWRevealViewController 不显示导航栏的主要内容,如果未能解决你的问题,请参考以下文章

IO模型--阻塞IO,非阻塞IO,IO多路复用,异步IO

IO复用阻塞IO非阻塞IO同步IO异步IO

四种IO模型‘阻塞IO/非阻塞IO/信号驱动IO/异步IO‘

5种IO模型阻塞IO和非阻塞IO同步IO和异步IO

网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

同步IO异步IO阻塞IO非阻塞IO之间的联系与区别