Допустим, что у меня естьИспользование dequeueReusableCellWithIdentifier для пользовательских ячеек
- (UITableViewCell*)tableView:(UITableView*) cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString *cellID = @"Cell Identifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
else
{
return cell;
}
UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake(0, 15, box.size.width, 19.0f)];
nameLabel.text = name;
[nameLabel setTextColor: [UIColor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f alpha:1.0f]];
[nameLabel setFont: [UIFont fontWithName: @"HelveticaNeue-Bold" size: 18.0f]];
[nameLabel setBackgroundColor: [UIColor clearColor]];
nameLabel.textAlignment = NSTextAlignmentCenter;
[cell addSubview: nameLabel];
}
Что это будет делать?
Если ячейка не нуль, и, допустим, вы находитесь в строке 5, она вернет ячейку для строки 5 с точными текстовыми метками и т. Д.?
В основном, мой вопрос в том, что у вас есть пользовательские ячейки с метками, изображениями и т. Д. Как вы используете cellForRowAtIndexPath
с dequeueReusableCellWithIdentifier
?
это то же самое для tableviewcell, независимо от того, является ли оно обычным или нет. Вы получаете объект ячейки и перезагружаете все его состояния, а затем добавляете свой контент. Так что да, вам нужно будет очистить содержимое в ярлыках/изображениях (установив его на нуль) и предоставить новый контент. – rydgaze
В этом коде нет способа повторно получить доступ к объекту UILabel, кроме как путем перечисления подсмотров ячейки, которая довольно уродлива. Лучше использовать подкласс UITableViewCell, обладающий свойством UILabel, так что он легко доступен. –