【问题标题】:Display a view for few seconds (custom push from NavController)显示一个视图几秒钟(来自 NavController 的自定义推送)
【发布时间】:2014-10-12 10:35:19
【问题描述】:

我从主从应用程序开始。现在我尝试添加一个自定义视图(带有简单标签的默认 UIViewController),它将显示几秒钟(如加载视图),然后才能访问详细/主视图。
我现在的问题是,如果我将 ViewController 添加到 AppDelegate 并从 NavigationController 推送到它,我会得到一个空视图。
见这里:

我什么都没做,只是在 appdelegate 中添加了一行代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    let splitViewController = self.window!.rootViewController as UISplitViewController
    let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController
    navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
    splitViewController.delegate = self

    let masterNavigationController = splitViewController.viewControllers[0] as UINavigationController
    let controller = masterNavigationController.topViewController as MasterViewController
    controller.managedObjectContext = self.managedObjectContext

    // +++ Custom ViewController is to be displayed from here +++

    navigationController.pushViewController(ViewController(), animated: true)

    return true
}

我不知道问题出在哪里...

【问题讨论】:

    标签: xcode view swift push navigationcontroller


    【解决方案1】:

    在你的代码中加入这一行

    navigationController.pushViewController(ViewController(), animated: true)
    

    您正在实例化一个新的空视图控制器,这可能不是您想要的。

    获取对您的故事板的引用(即从您的主视图控制器)以创建视图控制器并将其推送到导航堆栈上。示例:

    if let myVC = controller.storyboard!.instantiateViewControllerWithIdentifier(...) {
        navigationController.pushViewController(myVC, animated: true)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多