Как пройти через все элементы управления и воздействовать на определенные? - PullRequest
0 голосов
/ 31 января 2011

У меня есть приложение для iPad, которое добавляет кнопки во время выполнения в зависимости от того, где пользователь касается экрана.

Теперь - мне нужно удалить все эти кнопки одновременно.

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

Как мне перебрать все кнопки в представлении и удалить их, если они попадают в правильную классификацию ??

Ответы [ 2 ]

6 голосов
/ 31 января 2011

Это удаляет все кнопки UIB. Примите это к вашим потребностям. Если вы хотите использовать теги, я бы рекомендовал пометить каждую кнопку, которая должна оставаться в поле зрения.

for (id object in [self.view subviews]) {
    if ([object isKindOfClass:[UIButton class]]) {
        [object removeFromSuperview];
    }
}

Или вы можете добавить каждый UIButton в NSMutableSet при создании и удалить каждую кнопку набора, если они вам больше не нужны.

0 голосов
/ 31 января 2011

Единственный метод на основе тегов - это UIView # viewForTag, который возвращает один объект. (Я считаю, что это последний вид, который вы добавили с этим тегом). Но вы можете адаптировать приведенный выше код для своих целей:

for (UIView *iView in [self.view subviews]) {
    if (iView.tag == TARGET_CLASSIFICATION_TYPE) {
        [iView removeFromSuperview];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...