从 xib 创建 UITabBarController 时黑屏

Eug*_*rov 1 uitabbarcontroller xib ios swift

我尝试UITabBarController从xib创建。所以我在 xib 中设置选项卡项目,为这样的控制器连接类和 xibs 名称。以全分辨率打开图像

像那样

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

根视图控制器

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

黑屏

我可以以UITabBarController编程方式创建,所以问题是:如何获得我在 xib 中创建的内容?

Jac*_*ing 5

有一种特殊的方式必须加载 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
}
Run Code Online (Sandbox Code Playgroud)

现在,在您的 中AppDelegate,像这样调用它:

window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = TabBarController.instantiateFromNib()
window?.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)

试试这个。