Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/igormatyushkin014/Sensitive
Special way to work with gestures in iOS
https://github.com/igormatyushkin014/Sensitive
gesture gesture-recognizer simplify swift uigesturerecognizer
Last synced: 3 months ago
JSON representation
Special way to work with gestures in iOS
- Host: GitHub
- URL: https://github.com/igormatyushkin014/Sensitive
- Owner: simplisticated
- License: mit
- Created: 2015-11-09T00:24:41.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-15T18:19:27.000Z (6 months ago)
- Last Synced: 2024-08-04T11:02:02.601Z (3 months ago)
- Topics: gesture, gesture-recognizer, simplify, swift, uigesturerecognizer
- Language: Swift
- Homepage:
- Size: 250 KB
- Stars: 551
- Watchers: 13
- Forks: 33
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## At a Glance
`Sensitive` is a library that simplifies work with gestures in iOS. Forget about target/action pattern 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](#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 or later## Usage
### Adding Gesture Recognizers to View
All gestures are available via special variables that you can call on any `UIView` instance. Examples:
```swift
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:
```swift
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](./LICENSE) file for more info.