如何从iOS操场中的文件中实例化Storyboard?

yba*_*kos 13 storyboard swift swift-playground

假设您已将Xcode 6项目中的Main.storyboard复制到独立的playground的Resources目录中.如何UIStoryboard使用Main.storyboard文件实例化?尝试使用默认的via nil不起作用:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
Run Code Online (Sandbox Code Playgroud)

也没有明确使用主捆绑:

let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
Run Code Online (Sandbox Code Playgroud)

即使操场是故事板的Xcode项目的一部分,我也会收到同样的错误:"无法在捆绑NSBundle中找到名为'main'的故事板......"

似乎捆绑路径是正确的,并且应该能够反序列化故事板文件.

Mar*_*ett 13

我找到了这个:

"你可以把xib文件放到你的资源中,但是游乐场无法读取或运行它,因为它不是编译形式.今天,我(最终!)想到使用ibtool将我的MainMenu.xib文件预编译成nib和然后加载它.当你安装Xcode的命令行工具时,ibtool会被添加到/ usr/bin.所以你需要做的就是编译你的nib是发出以下命令:

ibtool --compile MainMenu.nib MainMenu.xib`
Run Code Online (Sandbox Code Playgroud)

将生成的笔尖扔进游乐场的资源文件夹,然后就可以加载了它."

http://ericasadun.com/2015/03/25/swift-todays-wow-moment-adding-menus-to-playgrounds/

您的故事板将编译成多个笔尖(每个场景一个)

希望能帮助到你