我有一个包含 TabBarController 场景的故事板。我试图以编程方式实例化它,然后将其设置为 rootViewController。
我在设置故事板变量后放置了一个断点,并且可以确认它找到了它。问题发生在为 TabBarController 加载场景。
我尝试创建一个自定义 TabBarController 子类并将其设置为身份检查器中的“类”名称,我得到了同样的结果。
我还尝试在同一个故事板中实例化 UIViewControllers,它们打开得很好。它只是发生在 TabBarController 上。也许这是一个限制,无法做到。
@IBAction func loginButtonTapped(_ sender: UIButton) {
let storyboard = UIStoryboard(name: StoryboardConstants.Composition, bundle: nil)
if let vc = storyboard.instantiateViewController(withIdentifier: "Tabbar") as? UITabBarController {
UIApplication.shared.keyWindow?.rootViewController = vc
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误: * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法为标识符“Tabbar”加载场景视图控制器 *首先抛出调用堆栈:
终于让它工作了!所以我在身份检查器中正确设置了所有内容,问题是我没有将 Storyboard 分配给我链接到 TabBarController 的 Storyboard 引用。
该错误没有给我任何线索,但希望这会对某人有所帮助。
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |