У меня есть UITableView, который, когда ячейка имеет тот же контент, что и другой, этот контент появляется только в нарисованной ячейке las.Моя пользовательская ячейка добавляет свойство UIView для добавления динамических подпредставлений из другого класса.
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"cell";
CollectionCell *cell = (CollectionCell *)[tableView
dequeueReusableCellWithIdentifier:MyIdentifier];
if (!cell) {
cell = [[[CollectionCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:MyIdentifier]
autorelease];
}
[cell setCollectionView:/* Generated view in other class */];
return cell;
}
Конкретная проблема:
Мое динамическое представление состоит, например, из 2 UILabels:
- если метка 1 является заголовком, заголовок уникален для каждой строки -> Нет проблем, отрисовывается нормально.
- , если метка 2 является категорией, индексы от 0 до 5 имеют одинаковую категорию-> Только строка в индексе 5 показывает метку категории.
Я не могу создать эти метки при создании экземпляра ячейки и добавить в качестве подпредставления, потому что содержимое ячейки является динамическим.
Спасибо заваше время и помощь.
ОБНОВЛЕНИЕ:
Я не могу создать эти метки в экземпляре ячейки и добавить в качестве подпредставления, потому что содержимое ячейки является динамическим.
Я собираюсь объяснить это подробно:
Элементы управления контентом и пользовательским интерфейсом, добавленные в свойство collectionView, могут различаться при каждом выполнении.В одном исполнении collectionView может иметь UIImageView и UILabel, а в следующем исполнении - 2 UILabel (например).Вот почему я не могу создать что-то подобное
if (!cell) {
cell = [[[CollectionCell alloc] initWithStyle:UITableViewCellStyleSubtitle
reuseIdentifier:MyIdentifier]
autorelease];
UILabel *foo = [[UILabel alloc] initWithFrame:SomeFrame];
[foo setTag:101];
[cell.collectionView addSubview:foo];
}
UILabel *foo = [cell.collectionView subviewWithTag:101];
[foo setTitle:@"This content is dynamic"];
Спасибо!
Обновление 2:
Кажется, проблема с пользовательскимUILabel подкласс.Если я использую оригинальный UILabel, чтобы показать строки, работает нормально.