从框架加载 Swift 主故事板和视图控制器



我想让我的 Swift 项目从框架而不是项目本身加载它的主要故事板和视图控制器。

这可能吗?

欢迎所有帮助。

我相信你早就解决了你的问题,但在这里发布答案,以防它对其他人从谷歌遇到它有用。

您可以通过从导航器中选择项目,从左侧面板中选择应用目标并进入"信息"选项卡,将另一个情节提要指定为主情节提要。那里有一个"主情节提要基本文件名"的设置。

对于您的特定问题,这可能不是您想要的。相反,请打开应用的 Main.storyboard,突出显示视图控制器,打开标识检查器,并将"类"设置为框架中的类。为了让它适用于我的项目,我实际上必须删除现有的 Main.storyboard,创建一个新的,在其上放置一个视图控制器,然后首先从属性检查器中设置"是初始视图控制器"。

更新的答案:

假设您有一个名为 myLogin 的框架,其情节提要的 ID 为"frameworkStoryboard",视图控制器的 ID 为"login"。你会

import myLogin

加载框架,然后放入代码

    let storyBoard = NSStoryboard(name: "frameworkStoryboard", bundle: nil) as NSStoryboard
    let loginViewController = storyBoard.instantiateControllerWithIdentifier("login") as! NSViewController
    view.window?.contentViewController = loginViewController

以加载情节提要和相应的视图。

基本上,您可以对两个名称(情节提要和控制器(使用变量,而不仅仅是将其写下来。该示例适用于osx,iOS的唯一区别是使用UIViewController而不是NSViewController,情节提要也是如此,您也不会在iOS上以相同的方式呈现控制器(此示例将切换当前Windows内容视图而不是呈现它。

最新更新