2014-10-12 2 views
0

Я начал с приложения «Мастер-детали». Теперь я пытаюсь добавить пользовательский вид (по умолчанию UIViewController с простой меткой), который будет отображаться в течение нескольких секунд (например, просмотр загрузки) до того, как будут доступны доступ к деталям/мастер-представлениям.
Моя проблема в том, что если я добавлю свой ViewController в AppDelegate и нажму на него из NavigationController, я получу пустой вид.
Смотрите здесь:
enter image description hereОтобразите представление в течение нескольких секунд (пользовательский push от NavController)

Я ничего не изменится, но добавив одну строку кода 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 
} 

я не получаю, где проблема ...
enter image description here

ответ

1

С этой линией в вашем коде

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

Вы создаете новый, пустой контроллер, который, вероятно, не то, что вы хотите.

Получите ссылку на свою раскадровку (например, из вашего masterviewcontroller), чтобы создать контроллер представления и нажать на него в стеке навигации. Пример:

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

спасибо! Я должен был это знать ... – x4k3p

Смежные вопросы