2016-10-05 264 views
1

在另一个文件中,我创建我的观点从另一个故事板控制器的一个实例,并展示它像这样:导航栏呈现View时不显示?

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

在我的故事板我有一个UINavigationController正确的故事板ID和嵌入式我的视图控制器。我还将初始视图控制器设置为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

你也可以使用objective-c来做同样的事情。 –

1

好了,所以你呈现视图控制器(请注意,这不是导航控制器)。

你可以做什么:

  1. 推视图控制器

    let viewController:UIViewController = UIStoryboard(name: "UserProfile", bundle: nil).instantiateViewControllerWithIdentifier("profileID") as! ProfileViewController 
    [self.navigationController pushViewController:viewController animated:YES]; 
    
  2. 目前导航控制器

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