【发布时间】:2020-11-12 19:31:23
【问题描述】:
您好,我必须在应用委托中从自定义框架(LoginUIModule、LoginUIModule 有情节提要 LoginScreen.storyboard)访问情节提要。 我从主界面中删除了主故事板,并从主故事板文件基本名称以及 .plist 中删除了名称,但出现错误
原因:'在捆绑包 NSBundle 中找不到名为'LoginScreen' 的情节提要
注意:- LoginUIModule 是单独的模块,我需要在我的主 (OneAppllbs) 项目中访问它,该项目又是一个单独的模块
我在应用委托中使用的代码
import LoginUIModule
self.window = UIWindow(frame: UIScreen.main.bounds)
let storyboard = UIStoryboard(name: "LoginScreen", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "LoginUIModuleViewController") as? LoginUIModuleViewController
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
【问题讨论】:
-
UIStoryboard: init(name: String, bundle storyboardBundleOrNil: Bundle?)- storyboardBundleOrNil 包含故事板文件及其相关资源的包。如果指定 nil,此方法会在当前应用程序的主包中查找。 由于 LoginScreen 不在主包中,因此您需要传入 LoginUIModule-Bundle。您可以在 Apple Bundle 文档中找到如何解决这个问题。 developer.apple.com/documentation/foundation/bundle -
@DanielMarx 感谢您提供宝贵的评论和苹果开发者资源。得到解决方案并学习新概念。
标签: ios swift storyboard uistoryboard