要运行示例项目,请克隆仓库,然后从 Example 目录中运行 pod install
。
我已经成功让自定义容器视图控制器设置与子视图控制器的关系,看起来就像在 Storyboard 中 Apple 的 UINavigtaionController 或 UITabbarController 所做的那样。
示例文件夹中有两个示例
sidemenu
此示例使用 RESideMenu
作为自定义容器视图控制器,展示如何使用 SMBCustomRelationshipSegue
使您的 Storyboard 既有连续性又具有意义
RESideMenu
是一个非常漂亮的自定义容器视图控制器,以下是链接
container
此示例受 objc.io 的 Custom Container View Controller Transitions 的启发,并且代码仓库在这里。在该仓库中,项目实现了没有接口文件的自定义容器视图控制器,而我通过添加 SMBCustomRelationshipSegue
进行了更新,现在可以在 Storyboard 中看到容器视图控制器与子视图控制器之间的关系。
SMBCustomRelationshipSegue
现在支持 一对一
关系(类似于 UINavigationController 的 rootViewController 关系 segue)和 一对多
关系(类似于 UITabbarController 的 viewControllers 关系 segue)。您只需要做两步。
对视图控制器或 UIViewController 进行子类化,覆盖以下方法
- (NSArray *)relationships
返回一个包含您想建立关系的属性名数组的数组,库会为您检查它是否为 一对一
或 一对多
。
您需要在 Storyboard 中进行控制拖动。在容器视图控制器和子视图控制器之间建立一个 自定义关系
segue,并为 segue 命名一个标识符。
一对一
关系应该具有以下格式
relationship_{{propertyName}}"
一对多
关系应该具有以下格式
relationship_{{propertyName}}_{{index}}
您应该确保索引是连续的,从 0 开始
那就好了!以下是为建立关系样图的构建关系
iOS 7.0 和 iOS 7.0+
David Fu, [email protected]
SMBCustomRelationshipSegue 根据 MIT 许可协议提供。有关更多信息,请参阅 LICENSE 文件。