質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1001閲覧

swift4 指の腹でのタッチを検出する

ssssskkkkk

総合スコア20

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2019/03/21 13:08

swift4で指の腹でのタッチを検出したいと考えています。
具体的には指の腹でタッチされている範囲を取得し、その範囲に円を描画したいです。
以下で出来るかと思って試してみたのですが複数の指によるタッチは検出できましたが、1本の指の腹で画面をタッチしても、1つのタッチしか検出されませんでした。

swift

1override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 2 guard let allTouches = event?.allTouches else { 3 return 4 } 5 for touch in allTouches { 6 print(touch.location(in: self)) 7 } 8 }

指の腹でタッチされた場合に指が触れている範囲を取得することは可能なのでしょうか。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2019/03/22 00:06

「腹で」というのは、点ではなく面で取りたいということでしょうか?
stdio

2019/03/22 00:50

文章を読んでいるかぎりfuzzballさんの想像通り、点ではなく面で取りたいのでしょう。 たしかあれってPCでいうところのマウス押下を同じだったはずですので、原理的に取得できそうでも実際にはできなかったような気がします。
ssssskkkkk

2019/03/22 00:50

はい、質問文に記載したコードだと指の重心一点の座標しか取得できなかったのですが、指が触れている面すべての点の座標を取得したいと考えています。
guest

回答2

0

ベストアンサー

おそらく面の取得は出来ないと思うので代替案です。

機種が限られますが、3D Touchの感圧機能を使います。
強く押されれば広く、弱ければ狭く、という感じです。

[Swift3]画面を押す強さを検出する(3DTouch)

投稿2019/03/22 01:12

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ssssskkkkk

2019/03/22 01:17

やはり面での取得は難しいのですね。 3D Touchで代替できないか検討してみます。 ありがとうございました。
guest

0

公式リファレンスに無かったら諦めて下さいね。
それらしい記載はあったと思うので頑張って下さい。

投稿2019/03/22 01:03

stdio

総合スコア3307

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ssssskkkkk

2019/03/22 01:06

ありがとうございます。 一度、端から端までよく読んでみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問