【问题标题】:application:openURL:sourceApplication:annotation: and pushing view controlle.rapplication:openURL:sourceApplication:annotation: 并推送视图 controlle.r
【发布时间】:2014-01-02 14:06:48
【问题描述】:

我的应用程序旨在处理 PDF 文件。每当用户打开 PDF 文件时,我想将他/她重定向到适当的 ViewController。

我尝试了几种不同的方法,发现了一些有趣的行为。

每当我使用窗口引用导航控制器时,一切正常:

  UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;

    [navigationController pushViewController:_importer animated:YES];

但是当我使用故事板时

 UIStoryboard *st =    [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
 UINavigationController * nav =(UINavigationController *)[ st instantiateInitialViewController ];
[nav pushViewController:_importer animated:YES];

它不起作用。为什么?

【问题讨论】:

    标签: ios uinavigationcontroller uistoryboard


    【解决方案1】:

    instantiateInitialViewController 创建故事板初始视图控制器的新实例。此时,它的视图不是视图层次结构的一部分。推送工作正常,我敢肯定,但由于导航控制器不在屏幕上,你不会看到新的视图控制器被推送。

    【讨论】:

    • 那么当我使用 UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController; ?
    • 因为self.window.rootViewController 设置为应用的初始视图控制器。它在application:didFinishLaunchingWithOptions: 中定义(或者如果您之前使用故事板),然后显示在屏幕上。
    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多