2016-06-21 106 views
0

所以我有一个以编程方式创建的CustomTabBarController(不是通过storyboard)。里面viewDidLoad中()的,我创建一个视图控制器是ProfileViewController(一ProfileNavController),也编程方式:如何在TabBarController中显示NavBarController中的ViewController Storyboard元素

override func viewDidLoad() { 
    super.viewDidLoad() 

    // ProfileNavController <- ProfileController 
    let profileController = ProfileViewController() 
    let profileNavController = UINavigationController(rootViewController: profileController) 
    let modifiedProfileNavController = UITabBarItem(title: "Profile", image: UIImage(named: ""), selectedImage: UIImage(named: "")) 
    profileNavController.tabBarItem = modifiedProfileNavController 

    // Tab-bar selector (ignore the "recentMessagesNavController", StackOverflow) 
    viewControllers = [recentMessagesNavController, createDummyNavControllerWithTitle("Groups", imageName: ""), createDummyNavControllerWithTitle("Submit", imageName: ""), createDummyNavControllerWithTitle("Search", imageName: ""), profileNavController] 
} 

然后我创建了一个Profile.storyboard和身份检查分配的视图控制器的类ProfileViewController(在右栏中)。在故事板视图控制器的内部,我放置了一个标题为“Hello World”的标签。

问题是,无论何时我运行该程序并单击配置文件选项卡,标签(连同故事板中的其他所有内容)都不会显示出来。我如何让他们展示?

ProfileViewController.swift供参考:

class ProfileViewController: UIViewController { 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     view.backgroundColor = UIColor.redColor() 
     navigationItem.title = "Profile" 
    } 
} 

回答

1

你需要它的故事板参考intialise ProfileViewController

let profileController = ProfileViewController() 

改变它

let profileController = UIStoryboard(name: "Profile", bundle: nil).instantiateInitialViewController() 
+0

这部分的工作,虽然我必须修改它:'let profileContr oller = UIStoryboard(name:“Profile”,bundle:nil).instantiateViewControllerWithIdentifier(“profileViewController”)作为UIViewController'因为我假定viewcontroller在故事板中没有初始入口点。谢谢! – About7Deaths

相关问题