2015-07-15 16 views
6

Ich habe eine UIViewController mit einer UITableView innerhalb einer UINavigationController.
Wenn ich verstecke die Navigationsleiste mitVerhindern Sie UITableViewCell Layout während der Animation

[self.navigationController setNavigationBarHidden:YES animated:YES]; 

die Tabellenansicht der Größe verändert wird und eine neue Zelle wird unten angezeigt. Diese Zelle legt ihre Unteransichten innerhalb der Animation fest, die die Navigationsleiste ausblenden.

Cell Animation

Gibt es eine Möglichkeit, das Layout der Zelle aus der Animation auszuschließen?

Antwort

6

Sie können die Zelle von Animieren durch die Umsetzung des UITableViewDelegate Verfahren verhindern tableView:willDisplayCell:forRowAtIndexPath: als solche:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [UIView performWithoutAnimation:^{ 
     [cell layoutIfNeeded]; 
    }]; 
} 
+0

Thank you! Es funktionierte perfekt für alles außer dem Offenlegungsindikator. Verwenden Sie 'performWithoutAnimation:' um 'cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;' auch das behoben. – Jochen

Verwandte Themen