Цикл по определенному классу: Objective-c - PullRequest
3 голосов
/ 13 сентября 2011

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

  for (int i = 0; i < [[self.view subviews] count]; i++) {
        if ([[self.view.subviews objectAtIndex:i] class] == [UIButton class]) {

        }
    }

Но я чувствую, что должен быть лучший способ. Может ли кто-нибудь помочь мне?

Спасибо.

Ответы [ 3 ]

9 голосов
/ 13 сентября 2011
for(UIView *v in [self.view subviews]) {
  if ([v isKindOfClass:[UIButton class]]) {
    ...
  }
}
3 голосов
/ 25 февраля 2012

Вы также можете попробовать это, чтобы перебрать определенный класс в представлении.Я нахожу это немного чище.

for (UIButton *button in [self.view subviews]) {
     // do whatever e.g. button.layer.cornerRadius = 11.0;
}
1 голос
/ 13 сентября 2011

Используйте это вместо:

for (UIView *view in [self.view subviews]) {
    if ([view isKindOfClass:[UIButton class]]) {
        //...
    }
}

Альтернативно, вы можете использовать блок, отправив массив subviews -enumerateObjectsUsingBlock:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...