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

时间:2016-02-16 12:59:31

标签: swift uistoryboard viewcontroller

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

这可能吗?

欢迎所有帮助。

2 个答案:

答案 0 :(得分:1)

我确定您早已解决了您的问题,但请在此处发布答案,以防其他人从Google处遇到此问题。

您可以通过从导航器中选择项目,从左侧面板中选择应用目标并进入“信息”,将另一个故事板指定为主要故事板。标签。有一个设置为"主故事板基本文件名。"

对于您的具体问题,这可能不是您想要的。而是打开应用程序的Main.storyboard,突出显示视图控制器,打开Identity Inspector,并将Class设置为框架中的Class。为了使这个工作适用于我的项目,我实际上必须删除现有的Main.storyboard,创建一个新的,在其上放置一个View Controller,并设置"是初始视图控制器"首先从属性检查器。

答案 1 :(得分:0)

更新回答:

假设您有一个名为myLogin的框架,其中包含一个带有id" frameworkStoryboard"的故事板。和一个id为#34; 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内容视图而不是呈现它