【发布时间】:2020-05-27 06:18:30
【问题描述】:
所以,我正在尝试使用情节提要引用以编程方式实例化我的视图控制器。
我已将此代码放在 AppDelegate 中:
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initialController: WelcomePageViewController = mainStoryboard.instantiateViewController(withIdentifier: "WelcomePageViewController") as! UITabBarController
window?.rootViewController = initialController
window?.makeKeyAndVisible()
return true
}
并将其设置在我的视图控制器的故事板中:
但是,当我运行应用程序时,只显示黑屏并显示以下消息: “无法为 UIMainStoryboardFile 'Main' 实例化默认视图控制器 - 可能未设置指定的入口点?”
我已经在其他应用程序中使用过这个确切的代码,它工作得很好。
我尝试清理构建文件夹,在实际设备上运行它并创建和实例化不同的故事板文件,但没有任何效果。
【问题讨论】:
-
你也有
SceneDelegate吗? -
@Sweeper 是的,有一个 SceneDelegate。但是我还没有实现它的任何功能。该文件是默认的。
-
您可以像这样以编程方式设置它 UITabBarController().viewControllers = [UIViewController()]。数组中的第一个视图控制器将是您的初始视图控制器
-
@umerfarooqi 仍然黑屏和错误:“无法为 UIMainStoryboardFile 'Main' 实例化默认视图控制器 - 可能未设置指定的入口点?”
-
@ShadiHabiballah -- "是的,有一个 SceneDelegate。" -- 你必须从
SceneDelegate.swift执行此操作,不是 来自AppDelegate.swift。此外,请确保您已从项目设置的“主界面”字段/下拉列表中删除“主界面”。
标签: ios swift xcode storyboard