UIClosures 0.0.4

UIClosures 0.0.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2015年9月
SPM支持 SPM

Zaid 维护。



ark。有关任何功能请求,请推文 @arkverse。非常感激反馈!

关于

一个用于 UIKit 的 Swift 闭包库,使得事件的创建变得更加容易和清洁。目前支持对 UIControl 事件和 UIGestureRecognizers(所有子类)的闭包。我们将继续添加更多的闭包支持。内存管理,并在 Swift 中完全编写。

支持所有 UIControlEvents,并且可以将多个闭包添加到同一事件。

快速示例

button.on(.TouchUpInside, (sender: AnyObject) -> () {
    let button = sender as! UIButton
    button.setTitle("Pressed", forControlState:.Normal)
})

请务必查看我们的 SwiftRecord 库!

访问 ark 以了解更适合初学者的 UIClosures 指南

如果您喜欢 UIClosures,请推文! tweet button

安装

手动安装

Classes/UIClosures.swiftUIClosures.framework 拖放到您的项目中

使用方法

UIControls

  1. import UIClosures 添加到您的文件中(如有必要)
  2. 在您的 UIControl 或类似 onTouchUpInside 的便捷方法上调用 on

    // Make sure you set your capture list to break your class-closure strong reference loop
    on(.TouchUpInside, listener: { [unowned self] (sender) -> () in
        self.title = "New ViewController Title!"
        let button = sender as! UIButton
        button.titleLabel?.font = UIFont.systemFont
    })
    // Can add another closure to the same event, convenience method used here
    button.onTouchUpInside() {[weak button = button] (sender) -> () in
        button.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
    })
  3. 请注意,您可能需要为每个闭包的捕获列表

UIGestureRecognizer

使用您想要的任何子类。您 **必须** 使用闭包初始化器,而不是 target: action: 初始化器

let tap = UITapGestureRecognizer() { (gesture: UITapGestureRecognizer) -> () in
    println("got a tap")
}

tap.onGesture() { (gesture: UITapGestureRecognizer) -> () in
    println("got this tap again")
}

将调用所有闭包

再次提醒,如果要引用任何变量,请记住捕获列表

路线图

  • 添加更多闭包
  • 测试

许可证

UIClosures 托管于 MIT 许可协议下。更多信息请查阅 LICENSE 文件。

了解我们更多信息请访问 ark,并查看我们的其他 Swift 库。

ga tracker