2016-10-05 6 views
1

В другом файл я создаю экземпляр моего контроллера представления другой раскадровки и представить его таким образом:Панель навигации не отображается при представлении View?

let viewController:UIViewController = UIStoryboard(name: "UserProfile", bundle: nil).instantiateViewControllerWithIdentifier("profileID") as! ProfileViewController 
self.presentViewController(viewController, animated: true, completion: nil) 

В моей раскадровке у меня есть правильный раскадровки ID и встроенный контроллер моего взгляда, в UINavigationController. Я также установил начальный контроллер представления в UINavigationController.

Почему он не появляется?

ответ

6

создать объект зрения контроллера затем добавить навигационный контроллер к нему, а затем представить его:

let VC1 = self.storyboard!.instantiateViewControllerWithIdentifier("MyViewController") as! ViewController 
let navController = UINavigationController(rootViewController: VC1) // Creating a navigation controller with VC1 at the root of the navigation stack. 
self.presentViewController(navController, animated:true, completion: nil) 
+0

Работал отлично, спасибо! –

+0

Вы также можете использовать объектив-c. –

1

Итак, вы представить контроллер представления (Обратите внимание, что это не навигационный контроллер).

Что вы можете сделать:

  1. Нажмите на вид контроллера

    let viewController:UIViewController = UIStoryboard(name: "UserProfile", bundle: nil).instantiateViewControllerWithIdentifier("profileID") as! ProfileViewController 
    [self.navigationController pushViewController:viewController animated:YES]; 
    
  2. Present навигация контроллер

    let viewController:UIViewController = UIStoryboard(name: "UserProfile", bundle: nil).instantiateViewControllerWithIdentifier("profileID") as! ProfileViewController 
    
    let navigationController = UINavigationController(rootViewController: viewController) 
    
    self.presentViewController(viewController, animated: true, completion: nil) 
    
Смежные вопросы