Привет друзья Я использую пользовательский UITableViewCell в своем приложении, а ячейка содержит две метки. Когда пользователь нажимает на ячейку, новая ячейка добавляется в нижней части ячейки, чтобы отображать новые функции, но проблема возникает в изображении, когда пользователь снова щелкает по ячейке, чтобы уничтожить расширенную ячейку, а затем изменится местоположение метки.пользовательский UITableViewCell conent неуместен
Так что теперь я не получаю, как получить неуместны эти лейбла ....
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:NO]; [self cellExpandCollapsewithIndex:(int)indexPath.row]; }
- (void) cellExpandCollapsewithIndex :(int)IndexPathRow { NSDictionary *dic=[self.itemsInTable objectAtIndex:IndexPathRow]; if([dic valueForKey:@"SubItems"]) { NSArray *arr=[dic valueForKey:@"SubItems"]; BOOL isTableExpanded=NO; for(NSDictionary *subitems in arr) { NSInteger index=[self.itemsInTable indexOfObjectIdenticalTo:subitems]; isTableExpanded=(index>0 && index!=NSIntegerMax); if(isTableExpanded) break; } if(isTableExpanded) { [self CollapseRows:arr]; } else { NSUInteger count=IndexPathRow+1; NSMutableArray *arrCells=[NSMutableArray array]; for(NSDictionary *dInner in arr) { [arrCells addObject:[NSIndexPath indexPathForRow:count inSection:0]]; [self.itemsInTable insertObject:dInner atIndex:count++]; } [self.menuTableView insertRowsAtIndexPaths:arrCells withRowAnimation:UITableViewRowAnimationAutomatic]; } } }
Проводка кода может помочь нам решить эту проблему. Прямо сейчас все, что мы можем вам сказать, это то, что что-то не так (что вы уже знаете), так как это в основном вся информация, которую мы имеем. – johnyu
'- (void) CollapseRows: (NSArray *) ar { для (NSDictionary * dInner in ar) {NSARray * arInner = [dInner valueForKey: @" SubItems "]; if (arInner && [arInner count]> 0) { [self CollapseRows: arInner]; } if ([self.itemsInTable indexOfObjectIdenticalTo: dInner]! = NSNotFound) { [self.itemsInTable removeObjectIdenticalTo: dInner]; [self.menuTableView reloadData]; } } } ' – pritam