一个干净、可定制的 Swift 语言的RKDropdownAlert替代方案。
RKDropdownAlert 是很棒的。它是简单易用的,开发者很棒。但是……有一些问题。
首先,它是用 Objective-C 编写的,任何 Swift 开发者都会告诉你同样的东西
其次,它没有响应式。为了真正有响应性,任何视图库都应当使用 AutoLayout 编写。
最后,有一个很大的问题。
等等!如果您想自定义或使用快速便捷的 [RKDropdownAlert show],则不要使用 pods
开发者已经习惯了 Cocoapods 的方便性,如果您无法同时自定义下拉组件并从 Cocoapods 下载,那还有什么意义呢?
这就是 DropdownAlert
介入的地方。总共有不到 300 行代码,DropdownAlert
是 简洁、完全可自定义、响应式、兼容 Swift 2.3,并使用Facebook 的 pop 动画库,以允许实现精细的自定义动画。
DropdownAlert
包含 3 种动画类型:基本
、弹簧
和自定义
/**
Animation types the dropdown can be presented with.
- Basic: Basic, simple animation.
- Spring: Spring animation.
- Custom: Custom animation.
*/
public enum AnimationType {
case Basic(timingFunction: CAMediaTimingFunction)
case Spring(bounce: CGFloat, speed: CGFloat)
case Custom(POPPropertyAnimation)
}
只需像这样调用即可
DropdownAlert.showWithAnimation(.Basic(timingFunction: CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn)), title: "Login Failed", message: "Incorrect username/password", duration: 2)
您可以堆叠尽可能多的动画
与 RKDropdownAlert
不同,DropdownAlert
在与 Cocoapods 一起使用时可以充分定制。以下类级别属性可以定制:
class var defaultBackgroundColor: UIColor
class var defaultTextColor: UIColor
class var defaultTitle: String
class var defaultMessage: String
class var defaultAnimationDuration: Double
class var defaultDuration: Double
class var defaultHeight: CGFloat
class var defaultTitleFont: UIFont
class var defaultMessageFont: UIFont
class var defaultFontSize: CGFloat
由于 DropdownAlert
内部使用 Autolayout,因此警告框的大小将始终大于或等于默认高度加内容溢出大小,这意味着您的消息长度可以任意长!
要定制定义特定的属性
DropdownAlert.defaultHeight = 110
DropdownAlert.defaultBackgroundColor = UIColor.blueColor()
您可以随意创建一个问题或提交 PR!有关更多信息,请查看贡献指南。
要运行示例项目,请先克隆仓库,再从 Example 目录运行 pod install
命令。
DropdownAlert 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "DropdownAlert"
Brendan Conron, [邮箱地址软件保护。
DropdownAlert 在MIT许可下可用。有关更多信息,请参阅LICENSE文件。