StoryboardXibController 是一个实用类,用于从您的 storyboard 中分离复杂视图控制器和视图数据到您的 Xibs 中,所有操作都在 Xcode 的 Interface Builder 中完成。
使用此类,您可以在运行时轻松地从一个 storyboard 中加载 Xib。目前这仅限于 File's Owner 是 UIViewController
或 UIViewController
子类的 Xib 文件。
StoryboardXibController 通过 cocoapods 提供,要安装,请将以下行添加到您的 PodFile
pod "StoryboardXibController"
或者,您可以克隆 github 仓库。
一旦安装了此类
将一个新的视图控制器场景添加到您的 storyboard 中。
在视图控制器的 Identity Inspector 选项卡中找到 Custom Class 属性
将视图控制器的 Custom Class 从 UIViewController
更改为 StoryboardXibController
。
在 Xcode 6 中
在视图控制器的 Attributes Inspector 选项卡中找到 Screen Controller 属性
将视图控制器的 Screen Controller 更改为您 Xib
的 File's Owner/主视图控制器的类名。
找到紧随其后的 Screen Nib 属性
将视图控制器的 Screen Nib 属性更改为您希望加载的 Xib
文件的名称。
在 Xcode 5 及以下版本中
在同一 Identity Inspector 选项卡中找到 User Defined Runtime Attributes
添加一个具有 Key Path screenControllerClass
的属性,类型为 String
,值为您 Xib
的 File's Owner/主视图控制器的类名。
screenNib
,类型为 String
,值为您希望加载的 Xib
文件的名称。对齐到顶布局指南
对齐到底布局指南
BOOL
值的属性alignToTopLayoutGuide
alignToBottomLayoutGuide
感谢 @fatuhoku 提出的想法以及在开发此功能时的帮助。
如果您有任何想法、建议或需报告的bug,请创建一个issue,并标记为功能或bug(请在创建前检查issue是否已存在!)。或者建议拉取请求(pull request)!