Ich zeige einige Zeilen in die UITableView
und die Anzahl der Zeilen in der Kopfzeile des Abschnitts, aber wenn ich die Zeilen löschen, dann sieht die Ansicht sehr seltsam wird mit Animation löschen . Schau in meinen Code, wenn mir etwas fehlt.Entfernen der Zeile von UITableView und Aktualisieren der Abschnittsüberschrift
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view = [[[UIView alloc]init] autorelease];
view.backgroundColor = [UIColor colorWithRed:(249.0/255.0) green:(249.0/255.0) blue:(249.0/255.0) alpha:1];
UILabel *label = [[[UILabel alloc]initWithFrame:CGRectMake(15, 15, 100, 15)] autorelease];
[label setTextColor:[UIColor colorWithRed:0.56 green:0.56 blue:0.58 alpha:1.0]];
[label setFont:[UIFont fontWithName:@"HelveticaNeue" size:12]];
label.text = @"SELECTED ACCOUNTS (";
NSString *numberOfAccounts = [NSString stringWithFormat:@"%li)", (unsigned long)[self->_selectedAccounts count]];
if([self->_selectedAccounts count])
label.text = [label.text stringByAppendingString:numberOfAccounts];
[view addSubview:label];
[view sizeToFit];
[label sizeToFit];
return view;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
NSMutableArray *selectedAcc = [[NSMutableArray alloc] initWithArray:self->_selectedAccounts];
[selectedAcc removeObjectAtIndex:indexPath.row];
self->_selectedAccounts = selectedAcc;
[self->_MyTableView beginUpdates];
[self->_MyTableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
[self->_MyTableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationNone];
[self->_MyTableView endUpdates];
}
}
Danke für die Antwort, aber ich bin in der Lage, die Zeile zu löschen und aktualisieren Sie die Header das einzige Problem mit meinem Code ist, dass es nicht, wie es sollte belebt. Sagen wir, ich die zwei Zeilen, die Zeilen löschen und die Kopfzeile aktualisieren, sind wie folgt: '[self -> _ MyTableView deleteRowsAtIndexPaths: @ [indexPath] withRowAnimation: UITableViewRowAnimationTop]; // [self -> _ MyTableView reloadSektionen: [NSIndexSet indexSetWithIndex: indexPath.section] withRowAnimation: UITableViewRowAnimationNone]; 'In diesem Fall habe ich den Code kommentiert, der meine Sektionskopfzeile aktualisiert, so dass die Animation der Dletion jetzt gut ist. –
OK. und lies bitte diesen Link in meiner Antwort .. das hilft dir auch bei deinem Problem ... –
Ja, ich versuche den Link zu verstehen, den du gegeben hast. –