PopBounceButton
一个使用 Facebook 的 Pop 动画库构建的自定义动画按钮。灵感来自人人熟知的 Tinder 按钮栈。
特点
- 轻量级且高度可定制
- 针对多个 UIControlEvents 的动画
- 纯 Swift 4
示例
要运行示例项目,请克隆仓库并运行 PopBounceButton-Example
目标。
要求
- iOS 9.0+
- Xcode 9.0+
- Swift 4.0+
安装
CocoaPods
PopBounceButton 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile
pod 'PopBounceButton'
手动安装
- 下载并拖动
PopBounceButton
目录到您的项目中。 - 安装 Facebook 的 Pop 库。
贡献
- 如果 发现了错误,请开启一个 issue 并标记为 bug。
- 如果 有功能请求,请开启一个 issue 并标记为 feature。
- 如果 想要贡献,提交一个 pull request。
- 为了提交 pull request,请从这个仓库 fork 出一个分支,然后从您 fork 的分支提交 pull request。
- 确保你的 pull request 消息详细说明了修复、增强或添加的内容。
快速开始
-
在您的视图中添加一个
PopBounceButton
。let frame = CGRect(origin: .zero, size: CGSize(width: 100, height: 100)) let button = PopBounceButton(frame: frame) view.addSubview(button)
-
为您的按钮附加一个目标来处理任何事件。
button.addTarget(self, action: #selector(handleTap), for: .touchUpInside)
@objc func handleTap(_ sender: PopBounceButton) { //do something }
自定义
因为 PopBounceButton 是 UIButton 的子类,所以可以以相同的方式进行自定义。可以通过修改以下变量来自定义按钮的动画,这些变量由 PopBounceButton
提供:
var springBounciness: CGFloat = 19.0
var springSpeed: CGFloat = 10.0
var springVelocity: CGFloat = 6.0
var cancelTapScaleDuration: TimeInterval = 0.3
var longPressScaleFactor: CGFloat = 0.7
var longPressScaleDuration: TimeInterval = 0.1
var minimumPressDuration: TimeInterval = 0.2
源代码
- Pop:Facebook 的 iOS 动画框架。
作者
Mac Gallagher,[email protected]
许可证
PopBounceButton 允许在 MIT 许可证下使用,更多信息请参阅 LICENSE。