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が発生するたびに確認できます。
'イベント.touchesを変更しますか?'のUIView – Marmelador
上のタッチの量をUITouchセットを返し、ない私は再びカウントチェックを追加するのを忘れてください – abdullahselek
I新しい問題が発生しました:UIViewから2本の指を離すと、それが1つのイベントとしてカウントされます。したがって、 'touchesEnded'をトリガしますが、' event?.touches(for:self)?count'に対して問い合わせると '2'を返します。 したがって、UIViewに2本の指を持たせてその1つを持ち上げることと区別できないようにします。 – Marmelador