คุณสามารถสร้างส่วนขยายทั่วไปในมุมมองเพื่อเพิ่มตัวรู้จำท่าทางได้อย่างง่ายดาย นี่เป็นเพียงตัวอย่าง แต่อาจมีลักษณะเช่นนี้
extension UIView {
func setGestureRecognizer<Gesture: UIGestureRecognizer>(of type: Gesture.Type, target: Any, actionSelector: Selector, swipeDirection: UISwipeGestureRecognizer.Direction? = nil, numOfTaps: Int = 1) {
let getRecognizer = type.init(target: target, action: actionSelector)
switch getRecognizer {
case let swipeGesture as UISwipeGestureRecognizer:
guard let direction = swipeDirection else { return }
swipeGesture.direction = direction
self.addGestureRecognizer(swipeGesture)
case let tapGesture as UITapGestureRecognizer:
tapGesture.numberOfTapsRequired = numOfTaps
self.addGestureRecognizer(tapGesture)
default:
self.addGestureRecognizer(getRecognizer)
}
}
}
วิธีเพิ่มตัวจำแนกลายมือแบบแตะ 2 อันบนมุมมองที่คุณเพิ่งจะเรียก:
let actionSelector = #selector(actionToExecute)
view.setGestureRecognizer(of: UITapGestureRecognizer.self, target: self, actionSelector: actionSelector, numOfTaps: 2)
คุณสามารถเพิ่มตัวรู้จำการปัดได้อย่างง่ายดาย
view.setGestureRecognizer(of: UISwipeGestureRecognizer.self, target: self, actionSelector: actionSelector, swipeDirection: .down)
และอื่น ๆ เพียงจำไว้ว่าเป้าหมายจะต้องเชื่อมโยงกับตัวเลือก