Я создал ячейку, которую можно развернуть и свернуть, когда ячейка расширяется. Я добавляю 2 поднабора и удаляю эти 2 поднабора, когда ячейка рушится. Посмотрите на код:Как удалить предыдущий subview и добавить новый subview в UITableviewCell
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(selectedIndex == indexPath.row){
selectedIndex = -1;
UITableViewCell *cell = [self.tblView cellForRowAtIndexPath:indexPath];
[[cell viewWithTag:TAG_KHMER] removeFromSuperview];
[[cell viewWithTag:TAG_KOREAN] removeFromSuperview];
//[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tblView beginUpdates];
[self.tblView endUpdates];
return;
}
if(selectedIndex >= 0){
NSIndexPath *previousPath = [NSIndexPath indexPathForRow:selectedIndex inSection:0];
selectedIndex = indexPath.row;
UITableViewCell *cell = [self.tblView cellForRowAtIndexPath:previousPath];
[[cell viewWithTag:TAG_KHMER] removeFromSuperview];
[[cell viewWithTag:TAG_KOREAN] removeFromSuperview];
//[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
VocabularyController *vc = [self.vocabularyInfo objectAtIndex:indexPath.row];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
UILabel *khmerLabel = [[UILabel alloc] init];
khmerLabel.text = vc.khmer;
khmerLabel.font = [UIFont fontWithName:@"Hanuman" size:17];
[khmerLabel setNumberOfLines:0];
khmerLabel.tag = TAG_KHMER;
khmerLabel.frame = CGRectMake(20, 45, 300, 300);
UILabel *koreanPro = [[UILabel alloc] init];
koreanPro.text = vc.korean;
[koreanPro setNumberOfLines: 0];
koreanPro.tag = TAG_KOREAN;
koreanPro.frame = CGRectMake(20, 315, 300, 300);
[cell addSubview:khmerLabel];
[cell addSubview:koreanPro];
selectedIndex = indexPath.row;
//[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tblView beginUpdates];
[self.tblView endUpdates];
}
Что произошло, камера, похоже, не удаляет предыдущую. он отображает новый текст в старом тексте, но когда я дважды нажимаю на одну и ту же ячейку, а затем ячейка может сделать текст хорошим.
Может ли кто-нибудь помочь мне, как правильно отобразить его.
После нажмите дважды раз на ячейку.
Мое произведение почти сделано. Я создал пользовательский UITableViewCell и поместил 3 ярлыка в ячейку, как вы можете видеть на картинке. Но одна вещь, которую я пытаюсь исправить: Второй ярлык содержит длинную строку (например: около 3 строк), и я пытаюсь изменить ее, но это не изменилось. и третий лейбл все еще остается тем же, где и был. Фактически, высота 2-й метки должна быть больше, и после нее должна быть 3-я метка. Можете ли вы рассказать мне, как решить эту проблему? Большое вам спасибо. –