从 xib 创建 UITabBarController 时黑屏

Black screen when creating UITabBarController from xib

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

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

结果,我得到一个没有标签项的黑屏。

我可以通过编程方式创建UITabBarController,所以问题是:我怎样才能得到我在 xib 中创建的内容?

必须以一种特殊方式加载 nib 中的视图控制器,否则 class 会在没有任何支持的情况下加载 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()

试试这个。