获取触摸 UIView 的手指数量
Getting the number of fingers touching a UIView
我想根据当前触摸的次数更改 UIView 的颜色。我成功地通过一次触摸创建了这个:
class colorChangerViewClass: UIView {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
setColor(color: .blue)
print("touchesBegan")
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
setColor(color: .green)
print("touchesEnded")
}
func setColor(color: UIColor) {
self.backgroundColor = color
}
}
但我正在努力实施多点触控。我觉得我不明白这里的东西。
UIView 是否有 属性 检查当前有多少手指触摸它?
我可以检查每次出现新的 touchesBegan 或 touchesEnded 时。
首先在您的子设备上启用多点触控class
self.isMultipleTouchEnabled = true
然后在触摸事件函数中,您可以从 UIView class.
获取所有触摸事件
let touchCount = event?.touches(for: self)?.count
确保UIView
有isMultipleTouchEnabled = true
,默认是false
。
然后改变touchesBegan
方法
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
setColor(color: .blue)
let touchCount = event?.touches(for: self)?.count
}
我想根据当前触摸的次数更改 UIView 的颜色。我成功地通过一次触摸创建了这个:
class colorChangerViewClass: UIView {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
setColor(color: .blue)
print("touchesBegan")
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
setColor(color: .green)
print("touchesEnded")
}
func setColor(color: UIColor) {
self.backgroundColor = color
}
}
但我正在努力实施多点触控。我觉得我不明白这里的东西。
UIView 是否有 属性 检查当前有多少手指触摸它?
我可以检查每次出现新的 touchesBegan 或 touchesEnded 时。
首先在您的子设备上启用多点触控class
self.isMultipleTouchEnabled = true
然后在触摸事件函数中,您可以从 UIView class.
获取所有触摸事件let touchCount = event?.touches(for: self)?.count
确保UIView
有isMultipleTouchEnabled = true
,默认是false
。
然后改变touchesBegan
方法
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
setColor(color: .blue)
let touchCount = event?.touches(for: self)?.count
}