MultitouchGestureRecognizer
MultitouchGestureRecognizer是UIGestureRecognizer子类,提供更丰富的API来处理多个触摸。
示例项目位于Multitouch
目录。
安装
pod 'MultitouchGestureRecognizer', '~> 2.0'
使用
let gestureRecognizer = MultitouchGestureRecognizer()
gestureRecognizer.delegate = self
view.addGestureRecognizer(gestureRecognizer)
功能
✓ 设置最大触摸次数和堆栈/队列选项
// Only register the five touches received first:
gestureRecognizer.mode = .stack
gestureRecognizer.count = 5
// Only register the one touch received last:
gestureRecognizer.mode = .queue
gestureRecognizer.count = 1
✓ 在手势结束时要保持触摸的持续设置(例如,实现具有持续功能的钢琴键盘)
gestureRecognizer.sustain = true
✓ 为单个触摸提供委托协议方法
func multitouchGestureRecognizer(_ gestureRecognizer: MultitouchGestureRecognizer, touchDidBegin touch: UITouch) {
print("Touch started")
}
func multitouchGestureRecognizer(_ gestureRecognizer: MultitouchGestureRecognizer, touchDidMove touch: UITouch) {
print("Touch updated")
}
func multitouchGestureRecognizer(_ gestureRecognizer: MultitouchGestureRecognizer, touchDidCancel touch: UITouch) {
print("Touch cancelled")
}
func multitouchGestureRecognizer(_ gestureRecognizer: MultitouchGestureRecognizer, touchDidEnd touch: UITouch) {
print("Touch finished")
}
✓ 跟踪手势状态和触摸
if (gestureRecognizer.multitouchState == .live) {
print("Gesture recognizer is currently receiving touches:", gestureRecognizer.touches)
}
✓ 质心助手
print(multitouchGestureRecognizer.centroid) // Prints the average of all touches
待办事项
- 生成 GIF 预览
- 发布到 Carthage
- 发布到 Cocoa 控制件