Доступ к UIButtons в пользовательском UITableViewCell - PullRequest
1 голос
/ 13 декабря 2011

Я создал собственный подкласс UITableViewCell в IB. У меня есть 3 кнопки, которые я хотел бы сбросить их выбранное состояние. Я думал, что смогу сделать что-то подобное, но это не работает. Подвид никогда не является типом класса UIButton. Правильно ли я подхожу к этой проблеме? Я перебираю правильное свойство UITableViewCell? Я вижу в отладчике мою переменную ячейки, а затем под ней с небольшим отступом вижу UITableViewCell и мои 3 кнопки. Но я не уверен, как получить ссылку на эти кнопки. Спасибо.

NSIndexPath *conditionPath = [NSIndexPath indexPathForRow:0 inSection:1]; 
UITableViewCell *cell = [self.FilterSortVC.TableView cellForRowAtIndexPath:conditionPath];

for (UIView *subview in cell.subviews) {
    if ([subview isKindOfClass:[UIButton class]]) {
        UIButton *aButton = (UIButton *)subview;
        aButton.selected = NO;
    }
}

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Я думаю, что элементы в ячейке хранятся в contentView. попробуйте это:

for (UIView *subview in cell.contentView.subviews) {
    if ([subview isKindOfClass:[UIButton class]]) {
        UIButton *aButton = (UIButton *)subview;
        aButton.selected = NO;
    }
}
0 голосов
/ 13 декабря 2011

Попробуйте установить тег для каждой из этих кнопок, объявите константу для каждой, чтобы иметь более читаемый код, а затем используйте viewWithTag:, чтобы получить представление из иерархии.

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