我尝试从xib创建UITabBarController。所以我在xib中设置了选项卡项,连接类和控制器的xib名称。Open image in full resolution。

然后我将TabBarController设置为根视图控制器。

结果,我得到一个没有选项卡项的黑色屏幕。

我可以通过编程方式创建UITabBarController,所以问题是:如何才能获得在xib中创建的内容?
发布于 2018-03-01 01:08:33
有一种特殊的方法,必须加载nibs中的视图控制器,否则该类将在没有任何支持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()试一试。
https://stackoverflow.com/questions/49034546
复制相似问题