StoryboardKit 是一个简单的 OS X 库,可以告诉你关于 Storyboard 文件的所有信息。
目前它仅支持 iOS Storyboard。OSX Storyboard 支持即将推出!
StoryboardKit 通过 cocoapods 提供,要安装,请将以下行添加到您的 PodFile
pod "StoryboardKit"
或者您可以将 github 仓库 添加为子模块,并将 StoryboardKit 作为框架使用。
Carthage 支持即将推出!
该库使用两个“根”级别对象来提供您所需的信息树
ApplicationInfo
- 包含应用程序全局信息,如类信息和实例信息StoryboardInfo
- 包含特定 Storyboard 文件的所有信息要解析 Storyboard 文件
var applicationInfo = ApplicationInfo()
var storyboardInfo = StoryboardFileParser.parse(applicationInfo!, pathFileName: "Main.storyboard")
从这里,您可以通过您的 ApplicationInfo 实例访问应用程序中所有的 ViewControllerClassInfo 或 ViewControllerInstanceInfo 列表
for viewControllerClass in application.viewControllerClasses {
...
}
或者您可能通过 StoryboardInstanceInfo 的 initialViewController 或 scenes 列表遍历您的 Storyboard 图。
guard let initialViewController = storyboardInfo.initialViewController else { ... }
guard let initialView = initialViewController.view else { ... }
guard let subviews = initialView.subviews else { ... }
for subview in subviews {
...
}
要了解更多关于 StoryboardKit 当前解析的信息,请在此处阅读文档:[cocoadocs.org](http://cocoadocs.org)
要查看 StoryboardKit 的使用示例,请查看此处的 seguecode 仓库:[seguecode](https://github.com/Adorkable/seguecode)
如果您有任何想法、建议或错误要报告,请在 GitHub 上 创建一个问题,并标记为 feature 或 bug(请先检查问题是否存在!)。
或者提交一个 pull request,还有很多工作要做!