我尝试从xib创建UITabBarController
。所以我在xib中设置了tab项,为这样的控制器连接类和xibs名称。 Open image in full resolution
然后我将TabBarController设置为root视图控制器。
结果,我得到一个没有标签项的黑屏。
我可以通过编程方式创建UITabBarController
,所以问题是:我怎样才能获得我在xib中创建的内容?
答案 0 :(得分:2)
有一种特殊的方法,必须加载nib中的视图控制器,否则加载类时不需要任何后备UI。
在TabBarController
中创建以下方法:
class func instantiateFromNib() -> TabBarController {
let nib = UINib(nibName: "TabBarController", bundle: nil)
let vc = nib.instantiate(withOwner: nil, options: nil).first as! TabBarController
return vc
}
现在,在AppDelegate
中,像这样调用它:
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = TabBarController.instantiateFromNib()
window?.makeKeyAndVisible()
试一试。