удалить все подпредставления на cell.contentview кроме метки - PullRequest
1 голос
/ 27 февраля 2012

Если мы используем следующий код, я могу удалить все подпредставления, включая textLabel.Мне нужно удалить все, кроме contentview titlelabel

for (int i=0; i < [self.mylist count]; i++) {

    NSIndexPath *lIndexPath = [NSIndexPath indexPathForRow:i inSection:0];

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:lIndexPath];

    for (UIView *view in cell.contentView.subviews) {
        [view removeFromSuperview];
    }
}

Любая идея, как этого избежать

1 Ответ

6 голосов
/ 27 февраля 2012

Просто проверьте, имеет ли представление тип UILabel, вот и все

for (int i=0; i < [self.mylist count]; i++) {

    NSIndexPath *lIndexPath = [NSIndexPath indexPathForRow:i inSection:0];

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:lIndexPath];



    for (UIView *view in cell.contentView.subviews) {
        if(![view isKindOfClass:[UILabel class]])
        {
        [view removeFromSuperview];
        }
        else
        {
        //check if it titlelabel or not, if not remove it
        }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...