如何从TabBarController

时间:2016-06-21 19:29:08

标签: ios xcode swift storyboard viewcontroller

所以我有一个以编程方式创建的CustomTabBarController(不是通过storyboard)。在viewDidLoad()内部,我创建了一个ProfileNavController,其视图控制器是ProfileViewController(),也是以编程方式创建的:

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并将View Controller的类分配给身份检查器(右侧列)中的ProfileViewController。在故事板视图控制器内部,我放了一个标题为&#34; Hello World&#34;。

的标签

问题在于,每当我运行程序并单击“配置文件”选项卡时,标签(以及故事板中的所有其他内容)都不会显示。我如何让它们展示?

ProfileViewController.swift供参考:

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

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

1 个答案:

答案 0 :(得分:1)

您需要使用其故事板参考

初始化ProfileViewController
let profileController = ProfileViewController()

将其更改为

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