Swift Ruby Objective-C
Clone or download
Permalink
Failed to load latest commit information.
Logo Added logo Nov 9, 2015
Sensitive Changed project structure Jun 30, 2018
Source Changed project structure Jun 30, 2018
.gitignore Update .gitignore Sep 21, 2016
LICENSE Initial commit Nov 9, 2015
README.md Update README.md Jun 30, 2018
Sensitive.podspec Updated podspec file Jun 30, 2018

README.md

Sensitive

At a Glance

Sensitive is a library that simplifies work with gestures in iOS. Forget about targets and actions of primitive UIGestureRecognizer. With Sensitive you can call onTap, onPinch, onSwipe on any UIView instance and implement handler for the gesture. That's all that you should know to start. For details, see Usage section.

How To Get Started

  • Copy content of Source folder to your project.

or

  • Use Sensitive cocoapod.

Requirements

  • iOS 9.0 and later
  • Xcode 9.0 and later
  • Swift 4.1

Usage

Adding Gesture Recognizers to View

All gestures are available via special variables that you can call on any UIView instance. Examples:

view.onTap
    .configure(with: { (gestureRecognizer) in
        // Configure `UITapGestureRecognizer` instance
        gestureRecognizer.numberOfTapsRequired = 2
    })
    .handle { (gestureRecognizer) in
        // Handle tap on view
        gestureRecognizer.view!.backgroundColor = .green
    }

view.onSwipe
    .configure(with: { (gestureRecognizer) in
        // Configure `UISwipeGestureRecognizer` instance
        gestureRecognizer.direction = .left
    })
    .handle { (gestureRecognizer) in
        // Handle tap on view
        gestureRecognizer.view!.backgroundColor = .green
    }

Full list of available gestures:

  • onTap
  • onLongPress
  • onPan
  • onPinch
  • onRotation
  • onSwipe
  • onScreenEdgePan

Simultaneous Recognition

If you need few gestures to work together on the same view, you can also use recognizeSimultaneously method:

view.onTap
    .handle { (gestureRecognizer) in
        // Your implementation here...
    }
    .recognizeSimultaneously(true)

view.onPinch
    .handle { (gestureRecognizer) in
        // Your implementation here...
    }
    .recognizeSimultaneously(true)

License

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