我有两个名为MeasurementsVC.swift和OutfitBuilder.swift的UIViewController类。但是,我没有这些UIViewControllers的nib文件。我想将它们加载到UITabBarController中,以便可以在两个UIViewControllers之间切换。基于the swift swift tutorial,我的AppDelegate文件中包含以下内容

    func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
    // Override point for customization after application launch.

    let tabBarController = UITabBarController()
    let myVC1: UIViewController = OutfitBuilderVC()
    let myVC2: UIViewController = MeasurementsVC()
    let controllers = [myVC1,myVC2]
    tabBarController.viewControllers = controllers
    window?.rootViewController = tabBarController
    let image1 = UIImage(named: "tshirtIcon.jpg")
    let image2 = UIImage(named: "measureTape.jpg")
    myVC1.tabBarItem = UITabBarItem(title: "tshirtIcon", image: image1, tag: 1)
    myVC2.tabBarItem = UITabBarItem(title: "measureTape", image: image2, tag:2)
    return true
}

现在显示的只是一个蓝色屏幕,底部带有灰色选项卡。我认为问题可能出在线路上
    let myVC1: UIViewController = OutfitBuilderVC()
    let myVC2: UIViewController = MeasurementsVC()

我应该如何调用这些现有的UIViewControllers?两个UIViewControllers都可以独立运行。我在单独的项目中创建了它们,作为唯一的UIViewController。

最佳答案

好吧,您正在使用情节提要吗,对吗?

如果您正在使用情节提要,则只需ctrl用鼠标将一条线从UITabBarController拖到UIViewControllers ...(一行到OutfitBuilderVC(),另一行到MeasurementsVC()),然后在黑色的小选项菜单中只需将鼠标放到UIViewController之一上,然后单击Relationship Segue-> view controllers,就会出现。

之后,您可以擦除您在AppDelegate中编写的所有代码,因为情节提要板可以为您处理所有事情...您还可以在其中定义vc的图标和标题...

您正在执行的方法实际上是,我认为在旧的XCode 3中没有情节提要的地方。但是今天您应该使用情节提要

关于ios - 快速将现有的没有nib文件的UIViewControllers添加到UITabBarController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27285109/

10-11 05:18