У вас есть хорошая идея, чтобы начать. Все объекты, которые вы добавляете в представление, уже хранятся в массиве с именем [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
}
}