PopBounceButton 1.2.2

PopBounceButton 1.2.2

Mac Gallagher 维护。




  • 作者
  • Mac Gallagher

PopBounceButton

Swift-Version CocoaPods license CocoaPods

一个使用 Facebook 的 Pop 动画库构建的自定义动画按钮。灵感来自人人熟知的 Tinder 按钮栈。

TinderDemo

MessageButtonExample

特点

  • 轻量级且高度可定制
  • 针对多个 UIControlEvents 的动画
  • 纯 Swift 4

示例

要运行示例项目,请克隆仓库并运行 PopBounceButton-Example 目标。

要求

  • iOS 9.0+
  • Xcode 9.0+
  • Swift 4.0+

安装

CocoaPods

PopBounceButton 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile

pod 'PopBounceButton'

手动安装

  1. 下载并拖动 PopBounceButton 目录到您的项目中。
  2. 安装 Facebook 的 Pop 库。

贡献

  • 如果 发现了错误,请开启一个 issue 并标记为 bug。
  • 如果 有功能请求,请开启一个 issue 并标记为 feature。
  • 如果 想要贡献,提交一个 pull request。
    • 为了提交 pull request,请从这个仓库 fork 出一个分支,然后从您 fork 的分支提交 pull request。
    • 确保你的 pull request 消息详细说明了修复、增强或添加的内容。

快速开始

  1. 在您的视图中添加一个 PopBounceButton

    let frame = CGRect(origin: .zero, size: CGSize(width: 100, height: 100))
    let button = PopBounceButton(frame: frame)
    view.addSubview(button)
  2. 为您的按钮附加一个目标来处理任何事件。

    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。