【Swift/UIKit】タップした座標(位置)を取得する方法!touchesBegan

この記事からわかること
- Swift/UIKitでタップした座標を取得する方法
- ビューの位置
- x軸/y軸
- touchesBeganメソッドの使用方法
index
[open]
\ アプリをリリースしました /
環境
- Xcode:14.3.1
- iOS:16.4
- Swift:5.8.1
タップした座標(位置)を取得する方法
UIKitでビューをタップした座標(位置)を取得するにはtouchesBeganメソッドをオーバーライドしてlocation
プロパティからX座標とY座標の値を取得することができます。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
// タップイベントが発生した際の処理
if let touch = touches.first {
let location = touch.location(in: self.view)
print("Tapped at x:\(location.x) y:\(location.y)")
}
}
Tapped at x:258.3333282470703 y:172.3333282470703
X軸/Y軸
iOSデバイスは以下画像のように左上を(x:0,y:0)
としたX軸/Y軸として管理されており座標でビューの位置を指定することが可能になっています。

touchesBegan(_:with:)
公式リファレンス:touchesBegan(_:with:)
func touchesBegan(
_ touches: Set <UITouch>,
with event: UIEvent?
)
touchesBegan
メソッドはUIResponder
に定義されているビューで1つ以上の新しいタッチが発生したことを検知するメソッドです。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。
個人開発に限界を感じたらiOSに特化したプログラミングスクール「iOSアカデミア」も検討してみてください!無料相談可能で「最短・最速」でiOSエンジニアになれるように手助けしてくれます。