从 xib 创建 UITabBarController 时出现黑屏
Posted
技术标签:
【中文标题】从 xib 创建 UITabBarController 时出现黑屏【英文标题】:Black screen when creating UITabBarController from xib 【发布时间】:2018-02-28 16:43:12 【问题描述】:我尝试从 xib 创建UITabBarController
。所以我在 xib 中设置选项卡项,为这样的控制器连接类和 xibs 名称。 Open image in full resolution.
然后我将 TabBarController 设置为根视图控制器。
结果,我得到一个没有标签项的黑屏。
我可以通过编程方式创建UITabBarController
,所以问题是:如何才能获得我在xib 中创建的内容?
【问题讨论】:
请发布您已经拥有的内容 我们需要查看您的代码,否则我们可能只是推测。 @JacobKing 视图控制器为空。我所做的只是在 xib 中创建 UI 并在 AppDelegate 中实例化 TabBarController。 @kuzdu 我发布了我所做的一切截图。 您能提供您的 TabBarController 初始化程序的代码吗?只是想确保您正确加载笔尖,因为这是一个常见错误。 【参考方案1】:有一种特殊的方式必须加载 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()
试试这个。
【讨论】:
谢谢!它有帮助。 哦!你不能。我代表你做的:)以上是关于从 xib 创建 UITabBarController 时出现黑屏的主要内容,如果未能解决你的问题,请参考以下文章
sendSubviewToBack 不适用于从 xib 创建的视图