Можно проверить количество объектов в месте касания? - PullRequest
0 голосов
/ 14 июня 2011

Можно ли проверить количество объектов в определенном месте касания?Я пометил все объекты числом, но не мог придумать, как он будет работать.

По сути, я хочу добавить uiimageview к точке касания, НО, когда уже есть другой uiimageview,не будет ничего делать

Спасибо!

1 Ответ

0 голосов
/ 15 июня 2011

У вас есть хорошая идея, чтобы начать. Все объекты, которые вы добавляете в представление, уже хранятся в массиве с именем [myview subviews]. Это была хорошая идея пометить их, потому что тогда вы можете легко получить к ним доступ с помощью [myview viewWithTag: kFirstViewTag].

Таким образом, чтобы ответить на вторую часть, при проверке местоположений касания проверьте, пересекается ли местоположение касания с любым из ваших подпредставлений.

Например:

for (UIView* view in [myView subviews]) {
   if (CGRectContainsPoint([view frame], touchPoint) {
       //do something
   }
}

Я могу предположить, что вам, вероятно, не нужно проходить через все подпредставления, поэтому вы можете просто переключаться на те, которые ограничены тегами от kFirstViewTag до kLastViewTag с циклом for, например:

for (int i = kFirstViewTag; i <= kLastViewTag; i++) {
   UIView *view = [myView viewWithTag: i];
   if (CGRectContainsPoint([view frame], touchPoint) {
       //do something
   }
}
...