我正在努力弄清楚如何在XCode中使用Swift从故事板中加载xib。
我的主要故事板(名为TabBarNav.storyboard)是一个Tab Bar View控制器,有4个项目(Home,Weight,Meals and Calories)。
我创建了一个单独的XIB UIView,名为ViewWelcome.xib,带有相应的类文件ViewWelcome.swift。
Home items视图控制器有一个名为" ViewControllerHome.swift"
的类文件触摸“主页”选项卡栏时,我想将现有视图替换为ViewWelcome.xib中的视图。
在ViewWelcome.xib中我创建了文件所有者ViewControllerHome但是当我运行应用程序时,它仍然显示我最初创建故事板时使用Home项创建的视图。
我这样做的原因 :( 故事板和xibs的混合)我希望每个部分(家庭,体重,膳食和卡路里)都是独立的故事板,以便SB不会变得混乱,并在以后避免多个人在接口文件上工作时git中的合并问题。
答案 0 :(得分:1)
最简单的方法是创建&在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)
}
}
否则请参阅this
答案 1 :(得分:0)
这对我有用。试一下 。 。
let newView = Bundle.main.loadNibNamed("ViewWelcome", owner: self, options: nil)?.first as! ViewWelcome
self.view = newView