测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | 自定义 |
发布最后发布 | 2017年5月 |
SwiftSwift版本 | 3.0 |
SPM支持SPM | ✗ |
由Hai Pham维护。
UIViewController,可以叠加在另一个 UIViewController 之上,具有类似Android的 DialogFragment 的行为。
将作为主对话框视图添加的 UIView 实例应该实现以下这三个预设协议之一
表示一个相对其父 UIView 具有顶部/底部和左侧/右侧边距的 UIView。一旦一个 UIView 实现此协议,它将不得不声明 longSidePadding 和 shortSidePadding。正如其名所示,长边和短边的区别取决于应用程序的方向;例如,如果应用程序处于纵向模式,则长边将是其高度,而长边 NSLayoutAttribute 将是顶部和底部。
与 PaddingDialogViewType 类似,但是而不是具体的边距,我们使用一个乘数来锚定对话框 UIView 到其父 UIView。实现此协议的 UIView 必须声明 longSideRatio 和 shortSideRatio,这样在纵向模式中,长边将是设备的高度,短边是宽度(横向模式相反)。
上述协议的组合,具有 longSideRatio 和 shortSidePadding,因为这种组合是最合适的。
如果我们想自定义 UIView 如何添加到 UIDialogController 的主视图中,我们需要实现 DialogViewType(所有上述协议继承的基础协议)和 ViewBuilderType,为视图构建过程提供约束。