ios - 将ViewController的uiview换成xib

标签 ios swift storyboard interface-builder xib

我正在努力弄清楚如何在 XCode 中使用 Swift 从 Storyboard中加载 xib。

我的主要 Storyboard(称为 TabBarNav.storyboard)是一个包含 4 个项目(家庭、体重、膳食和卡路里)的选项卡栏 View Controller 。

我创建了一个名为 ViewWelcome.xib 的单独 XIB UIView 以及相应的类文件 ViewWelcome.swift。

Home 项目 View Controller 有一个名为“ViewControllerHome.swift”的类文件

当触摸主页选项卡栏项时,我想用 ViewWelcome.xib 中的 View 替换现有 View 。

在 ViewWelcome.xib 中,我已将文件设为 ViewControllerHome 所有者,但当我运行该应用程序时,它仍然显示在我最初创建 Storyboard时使用 Home 项创建的 View 。

我这样做的原因:( Storyboard和 xibs 的混合)我希望每个部分(家庭、体重、膳食和卡路里)与 Storyboard ,这样 SB 就不会变得困惑,并且以后当多个人处理界面文件时,也可以避免 git 中的合并问题。 Storyboard

最佳答案

最简单的方法是在 viewDidLoad 中创建和添加您的 nib View

func viewDidLoad() {

    super.viewDidLoad()

    // create and add view from nib
    if let viewWelcome = UINib(nibName: " ViewWelcome", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as? ViewWelcome {
        viewWelcome.frame.size = self.view.size
        self.view.addSubview(viewWelcome)
    }
}

否则引用this

关于ios - 将ViewController的uiview换成xib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44226129/

相关文章:

ios - 尝试使用 Xcode 4.2 iOS 5 从 UIWebView 推送到详细 View

swift - 创建自定义类并从 Storyboard添加到我的 View Controller ?

ios - 引用 Assets 目录并从框架中包含它是否会创建重复?

ios - 如何将椭圆形图层绘制到 UITextField

ios - 堆栈 View 和内容拥抱优先级 - 意外行为

ios - 无法让自定义相机显示正在捕获的内容的预览

ios - 如何查看当前 URLSessionDownloadTask 的恢复能力?

swift - 我需要在每周的特定日期设置通知..但我不在乎这个月的哪一天

ios - 由于图像加载而收到内存警告后应用程序崩溃

ios - Google Analytics iOS 的问题