Поэтому у меня есть следующий код:добавляющих подвиды к клеточному contentView
static NSString *CellIdentifier = @"RecommendationCell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"TableViewCell"] autorelease];
}
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[indicator setCenter:CGPointMake(0, 15)];
[indicator startAnimating];
[indicator hidesWhenStopped];
UILabel *someLabel.........
UIView *containerView = [[UIView alloc] initWithFrame:CGRectZero];
[containerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[containerView setAutoresizesSubviews:YES];
[containerView setBackgroundColor:[UIColor clearColor]];
[containerView addSubview:indicator];
[containerView addSubview:someLabel];
[containerView setFrameSize:CGSizeMake(indicator.frameWidth+self.loadingGeniusLabel_.frameWidth, 30)];
[containerView setCenter:CGPointMake(cell.contentView.center.x, 15)];
[cell.contentView addSubview:containerView];
[indicator release];
[containerView release];
return cell;
Мой вопрос, является выше кодом эффективным/чистым? Причина, по которой я спрашиваю, состоит в том, что если ячейка, которую мы получаем, из многоразовой колоды, то она будет иметь UIActivityIndicator и необходимый вид в ней правильно? Мне просто нужно добавить subviews только в том случае, если я выделяю новую ячейку (т. Е. Когда ячейка == nil)?
хорошо .. вещь, почему я не использую подкласс - это потому, что в представлении таблицы будет только один тип ячейки, остальные ячейки используют одну другую ячейку. – xonegirlz
Хм, так буквально, будет только одна ячейка в таблице, как это? В этом случае ваш код может быть приемлемым, но определенно не оптимальным. Я предполагаю, что код, который вы опубликовали, окружен более крупным оператором if, чтобы определить, показывать ли рекомендательное письмо, что показывать? –
Тем не менее, я бы включил подклассификацию UITableView, хотя бы для одной ячейки. Это несколько минут кодирования, обеспечивает большую гибкость и не имеет недостатков. –