最低 iOS 8.0
要运行示例项目,克隆仓库,并打开 LambdaUI.xcworkspace
LambdaUI 通过 CocoaPods 提供。要安装,请将以下行添加到您的 Podfile
pod "LambdaUI"
LambdaUI 是一个以闭包驱动的 Swift 事件处理框架。它减少了在 Swift 中为 UI 元素分配事件所需的努力。它还提供了简单直观的 GCD 支持。
一旦您将 LambdaUI
框架添加到项目中,所有 UIControl
实例(例如,UIButton
、UIStepper
、UISlider
等)都将具有一个新的 events
属性。此属性包含给定 UIControl
的所有受支持事件
UIControl
实例添加事件let button = UIButton()
button.events.touchUpInside += { _ in
print("Touched the button")
}
let stepper = UIStepper()
let eventIdentidier = stepper.events.valueChanged += { _ in
print("Stepper changed value")
}
if shouldDisableStepperEvents {
stepper.events.valueChanged -= eventIdentidier
}
let slider = UISlider()
slider.events.valueChanged += async {
print("async event")
}
slider.events.valueChanged += async(queue: .UserInteractiveQueue) { _ in
print("async event on user interactive queue")
}
@IBOutlet weak var button : UIButton!
override func viewDidLoad() {
super.viewDidLoad()
let firstEventIdentifier = button.events.touchUpInside += { _ in
print("Do first event")
}
button.events.touchUpInside += async(queue: .BackgroundQueue) { _ in
//Disable first event once the second event has been triggered
button.events.touchUpInside -= firstEventIdentifier
}
}
欢迎所有贡献。只需尊重通常的贡献礼仪。提交拉取请求,它将尽快被审查。
Mislav Javor,[email protected]
LambdaUI 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。