Latest 1.1.0
License MIT
Platforms ios 8.0


Build Status


Minimum iOS 8.0


To run the example project, clone the repo, and open LambdaUI.xcworkspace


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

pod "LambdaUI"

What is LambdaUI?

LambdaUI is an closure driven event handling framework for Swift. It reduces the effort needed when assigning events to UI elements in Swift. It also features easy and intuitive GCD support.


Once you’ve added the LambdaUI framework to your project, a new events property will be available on all instances of UIControl objects (for example, UIButton, UIStepper, UISlider, etc.). This property contains all of the supported events for a given UIControl

Using LambdaUI

Add events to UIControl instances

let button = UIButton() += { _ in
  print("Touched the button")

Remove added events easily

let stepper = UIStepper()
let eventIdentidier = += { _ in
  print("Stepper changed value")

if shouldDisableStepperEvents { -= eventIdentidier

Easily add async events

let slider = UISlider() += async {
  print("async event")
} += async(queue: .UserInteractiveQueue) { _ in
  print("async event on user interactive queue")

Mix and match/add multiple events

@IBOutlet weak var button : UIButton!

override func viewDidLoad() {
  let firstEventIdentifier = += { _ in
    print("Do first event")
  } += async(queue: .BackgroundQueue) { _ in
    //Disable first event once the second event has been triggered -= firstEventIdentifier


Any contributions are welcome. Just respect the usual contribution etiquette. Submit a pull request and it will be reviewed as soon as possible.


Mislav Javor, [email protected]


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

Latest podspec

    "name": "LambdaUI",
    "version": "1.1.0",
    "summary": "Closure driven event handling framework with easy event management and intuitive GCD async support",
    "description": "Event handling with closures and Grand Central Dispatch ( GCD ) asynchronous ( async ) support. Allows easy event stacking and removal as well as event management.",
    "homepage": "",
    "license": "MIT",
    "authors": {
        "Mislav Javor": "[email protected]"
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "1.1.0"
    "source_files": "Source/**/*.swift"

Pin It on Pinterest

Share This