将ViewController的uiview换成xib
Replace ViewController's uiview with xib
我正在努力弄清楚如何使用 XCode 中的 Swift 从故事板中加载 xib。
我的主要故事板(称为 TabBarNav.storyboard)是一个包含 4 个项目(家庭、体重、膳食和卡路里)的选项卡栏视图控制器。
我创建了一个名为 ViewWelcome.xib 的单独 XIB UIView 以及相应的 class 文件 ViewWelcome.swift。
主页项目视图控制器有一个名为 "ViewControllerHome.swift"
的 class 文件
当触摸主页选项卡栏项时,我想用 ViewWelcome.xib 中的视图替换现有视图。
在 ViewWelcome.xib 中,我已将文件设为 ViewControllerHome 所有者,但是当我 运行 应用程序时,它仍然显示我最初创建故事板时使用 Home 项创建的视图。
我这样做的原因:(故事板和 xibs 的混合)我想要每个部分(Home,Weight,膳食和卡路里)与情节提要分开,这样 SB 就不会变得混乱,并且以后当多人处理界面文件时也可以避免 git 中的合并问题。
最简单的方法是在 viewDidLoad
中创建并添加您的 nib 视图
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)
}
}
其他参考
这对我有用。试一下 。 .
let newView = Bundle.main.loadNibNamed("ViewWelcome", owner: self, options: nil)?.first as! ViewWelcome
self.view = newView
我正在努力弄清楚如何使用 XCode 中的 Swift 从故事板中加载 xib。
我的主要故事板(称为 TabBarNav.storyboard)是一个包含 4 个项目(家庭、体重、膳食和卡路里)的选项卡栏视图控制器。
我创建了一个名为 ViewWelcome.xib 的单独 XIB UIView 以及相应的 class 文件 ViewWelcome.swift。
主页项目视图控制器有一个名为 "ViewControllerHome.swift"
的 class 文件当触摸主页选项卡栏项时,我想用 ViewWelcome.xib 中的视图替换现有视图。
在 ViewWelcome.xib 中,我已将文件设为 ViewControllerHome 所有者,但是当我 运行 应用程序时,它仍然显示我最初创建故事板时使用 Home 项创建的视图。
我这样做的原因:(故事板和 xibs 的混合)我想要每个部分(Home,Weight,膳食和卡路里)与情节提要分开,这样 SB 就不会变得混乱,并且以后当多人处理界面文件时也可以避免 git 中的合并问题。
最简单的方法是在 viewDidLoad
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)
}
}
其他参考
这对我有用。试一下 。 .
let newView = Bundle.main.loadNibNamed("ViewWelcome", owner: self, options: nil)?.first as! ViewWelcome
self.view = newView