Swiftpack.co - Package - takasek/ActionClosurable

ActionClosurable

Version License Platform Carthage Compatible

Usage

ActionClosurable extends UIControl, UIButton, UIRefreshControl, UIGestureRecognizer and UIBarButtonItem. It helps writing swifty code with closure, instead of target and action like below:

// UIControl
button.on(.touchDown) {
    $0.backgroundColor = UIColor.redColor()
}
button.on(.touchUpOutside) {
    $0.backgroundColor = UIColor.whiteColor()
}
// UIButton
button.onTap {
    $0.enabled = false
}

// UIRefreshControl
tableView.refreshControl = UIRefreshControl { refreshControl in
    DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
        refreshControl.endRefreshing()
    }
}

// UIGestureRecognizer
label.addGestureRecognizer(UIPanGestureRecognizer { (gr) in
    print("UIPanGestureRecognizer fire")
})

// UIBarButtonItem
let barButtonItem = UIBarButtonItem(title: "title", style: .plain) { _ in
    print("barButtonItem title")
}

// And you can easily extend any NSObject subclasses!

And you can extend any NSObject subclasses in very easy way. Refer to the source.

Installation

ActionClosurable is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "ActionClosurable"

ActionClosurable is available through Carthage. To install it, simply add the following line to your Cartfile:

github "takasek/ActionClosurable"

ActionClosurable is available through Swift Package Manager. To install it, add dependency in Package.swift:

let package = Package(
    ...
    dependencies: [
         .package(url: "git@github.com:takasek/ActionClosurable.git", from: "2.1.0"),
    ],
    ...
)

Author

takasek

License

ActionClosurable is available under the MIT license. See the LICENSE file for more info.

Github

link
Stars: 110
Help us keep the lights on

Dependencies

Used By

Total: 1

Releases

2.1.0 - Aug 13, 2019

2.0.0 - Aug 13, 2019

1.3.0 - Aug 13, 2019

thanks to @sugoi-wada

1.2.0 - Feb 3, 2018

add extension for UIRefreshControl

1.1.0 - Jan 26, 2018

Add UIBarButtonItem.init(barButtonSystemIcon:closure:)