0
特定のタッチ位置にあるオブジェクトの数を確認できますか? すべてのオブジェクトに番号を付けてタグ付けしましたが、動作する方法は考えられませんでした。タッチ位置にあるオブジェクトの数を確認できますか?
基本的には、私はuiimageviewをタッチポイントに追加しますが、すでに他のuiimageviewがある場合は何もしません。
ありがとうございます!
特定のタッチ位置にあるオブジェクトの数を確認できますか? すべてのオブジェクトに番号を付けてタグ付けしましたが、動作する方法は考えられませんでした。タッチ位置にあるオブジェクトの数を確認できますか?
基本的には、私はuiimageviewをタッチポイントに追加しますが、すでに他のuiimageviewがある場合は何もしません。
ありがとうございます!
あなたは良い考えを持っています。ビューに追加するすべてのオブジェクトは、すでに[myview subviews]
という配列に保持されています。 [myview viewWithTag: kFirstViewTag]
で簡単にアクセスできるので、タグを付けることをお勧めしました。
2番目の部分に答えるには、タッチ位置を確認するときに、タッチ位置がサブビューと交差していないかどうかを確認します。例えば
:
for (UIView* view in [myView subviews]) {
if (CGRectContainsPoint([view frame], touchPoint) {
//do something
}
}
することができますので、私は次のように、forループでkFirstViewTag
からkLastViewTag
のタグで制限されたものにだけサイクル、あなたはおそらく、すべてのサブビューを谷に行く必要はありませんと仮定することができます:
for (int i = kFirstViewTag; i <= kLastViewTag; i++) {
UIView *view = [myView viewWithTag: i];
if (CGRectContainsPoint([view frame], touchPoint) {
//do something
}
}
私は自分自身で解決策を考え出しました...しかし、それほどエレガントではありません。ビューに追加されたオブジェクトのすべての位置を配列に追加し、これに対して新しいタッチ位置を確認します。私は多くのオブジェクトを持っていると、おそらく波打つようになるでしょう...誰かが良いアイデアを持っているなら、私に知らせてください。ありがとう –