У меня есть табличное представление с большим количеством записей, разделенных на несколько разделов и внутри которых у меня есть несколько строк. У меня есть кнопка, смоделированная как флажок в каждой строке. Флажки (кнопки) могут быть активированы/деактивированы при нажатии. Я загружаю изображение на кнопке (флажок) в зависимости от статуса, независимо от того, установлен он или нет. Все идет хорошо, пока я не попытаюсь перетащить UITableview вниз, а затем поднимусь, только чтобы автоматически отключить некоторые из моих отмеченных флажков. Я вроде понял, что это было вызвано из-за использованияСостояние флажка изменяется, когда uitableview прокручивается вверх и вниз
dequeuereusablecellwithidentifier
Я хочу, чтобы избежать этого странного поведения моего Tableview. Нужна помощь в этом случае.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
UIButton *checkBox = [[UIButton alloc] init];
checkBox.tag = contact.contactID;
[cell.contentView addSubview:checkBox];
[checkBox setFrame:CGRectMake(6,14,20,20)];
[checkBox release];
}
UIButton *checkBox = (UIButton *)[cell.contentView viewWithTag:contact.contactID];
if(isActivDeactivButton)
{
[checkBox setImage:[UIImage imageNamed:@"disabled_checkbox.png"] forState:UIControlStateNormal];
}
else{
[checkBox setImage:[UIImage imageNamed:@"selected_checkbox.png"] forState:UIControlStateNormal];
}
return cell;
}
Я добавил свой код к вопросу. –
Это ВСЕ ваш код? Я не вижу, откуда пришел «контакт», «isActivDeactivButton». – Tim
Добавьте 'NSLog (@" Загрузка ячейки в строке% d ", indexPath.row);' к вашему коду, а затем просмотрите вывод при прокрутке - это поможет вам лучше понять, когда он вызывает метод и поможет вам понять, почему он не устанавливает его должным образом. – Tim