Ios 在动画期间防止UITableViewCell布局

Ios 在动画期间防止UITableViewCell布局,ios,objective-c,uitableview,cocoa-touch,Ios,Objective C,Uitableview,Cocoa Touch,我有一个UIViewController,在UINavigationController内部有一个UITableView 当我使用隐藏导航栏时 [self.navigationController setNavigationBarHidden:YES animated:YES]; 将调整表格视图的大小,并在底部显示一个新单元格。 此单元格在隐藏导航栏的动画中布局其子视图 有没有办法从动画中排除单元格的布局?您可以通过实现UITableViewDelegate方法tableView:willD

我有一个
UIViewController
,在
UINavigationController
内部有一个
UITableView
当我使用隐藏导航栏时

[self.navigationController setNavigationBarHidden:YES animated:YES];
将调整表格视图的大小,并在底部显示一个新单元格。 此单元格在隐藏导航栏的动画中布局其子视图


有没有办法从动画中排除单元格的布局?

您可以通过实现UITableViewDelegate方法
tableView:willDisplayCell:forRowAtIndexPath:
来防止单元格动画化:

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

非常感谢。除了披露指标外,它在所有方面都非常有效。在无动画的情况下使用
性能:
环绕
cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator也修复了这个问题。