/iOS-Modal

iOS模态窗口

Primary LanguageObjective-CMIT LicenseMIT

iOS-Modal

Build Platform Language License

iOS 模态窗口,内置类似淘宝添加购物车的模态视图动画,内部使用 iOS8 推出的UIPresentationController来实现模态窗口功能。

该项目是SemiModal的增强版,在SemiModal的基础上增加了指定模态窗口出现的位置方向(参看ModalDirection枚举),以适应更多的使用场景。

TODO

  • 完善交互手势对滚动视图的支持
  • 提供Objective-C版本(已提供)

特性

  • 丰富的配置,适应多种使用场景
  • 支持交互式转场动画(当启动背景动画时,建议关闭该功能)
  • 简单易用的API,使用者只需关心 UIViewController 通过 extension 所提供的方法

环境要求

  • iOS8.0+
  • Swift4.0+ (Swift版本)
  • Xcode9.0+

用法

  • UIViewController+Modal.swiftModal-ObjC文件夹拖入你的项目即可

  • 示例代码

  1. 弹出控制器
let vc = UIViewController()
vc.view.backgroundColor = .cyan
presentModalViewController(vc, contentSize: CGSize(width: 200.0, height: 300.0), configuration: .default, completion: nil)
  1. 弹出自定义视图
let view = UIView()
view.backgroundColor = .brown
presentModalView(view, contentSize: CGSize(width: 200.0, height: 300.0), configuration: .default, completion: nil)

演示

GIF

left

right

bottom

center

致谢

感谢他们对开源社区做出的贡献。

协议

被许可在 MIT 协议下使用,查阅LICENSE文件来获得更多信息。