DropdownAlert 1.0.4

DropdownAlert 1.0.4

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2016 年 6 月
SPM支持 SPM

Brendan Conron 维护。



DropdownAlert

一个干净、可定制的 Swift 语言的RKDropdownAlert替代方案。

概览

RKDropdownAlert 是很棒的。它是简单易用的,开发者很棒。但是……有一些问题。

首先,它是用 Objective-C 编写的,任何 Swift 开发者都会告诉你同样的东西

ew

其次,它没有响应式。为了真正有响应性,任何视图库都应当使用 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)

animation-demo

您可以堆叠尽可能多的动画

stacked-animations

定制

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, [邮箱地址软件保护

Twitter

许可证

DropdownAlert 在MIT许可下可用。有关更多信息,请参阅LICENSE文件。