UITableView中的错误(deleteSections:withRowAnimation:)?

Fel*_*lix 9 iphone animation uitableview ios

我在使用这个UITableView方法时遇到问题:

- (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation
Run Code Online (Sandbox Code Playgroud)

首先文档说:

动画:YES表示删除部分的动画,否则为NO.

但参数动画实际上是枚举类型UITableViewRowAnimation,而不是BOOL!?

那么如何禁用动画呢?我试过NOUITableViewRowAnimationNone.什么都行不通.部分删除始终是动画的.

我知道我可以用[tableView reloadData].这将解决我的问题.我只是好奇这是否是一个已知问题,并且是否可以使用此tableview方法禁用动画.

谢谢!

sam*_*tte 43

这是一种黑客,但这摆脱了插入动画:

[UIView setAnimationsEnabled:NO];
[self.tableView insertRowsAtIndexPaths:insertedIndexPaths withRowAnimation:UITableViewRowAnimationNone];
[UIView setAnimationsEnabled:YES];
Run Code Online (Sandbox Code Playgroud)

  • 哦不...它太脏了.但效果很好!另外由于UIView方法是全局的,我建议使用以下结构:`BOOL animationsWereEnabled = [UIView areAnimationsEnabled]; [UIView setAnimationsEnabled:NO]; [self.tableView insertRowsAtIndexPaths:insertedIndexPaths withRowAnimation:UITableViewRowAnimationNone]; [UIView setAnimationsEnabled:animationsWereEnabled]; ` (2认同)

Ali*_*are 4

关于文档中的“是/否”,而参数的类型为 UITableViewRowAnimation,我想这是旧版本 API 的休息,其中参数之前为 BOOL。无论如何,文档确实是错误的。

\n\n

请毫不犹豫地向 Apple 发送反馈(使用文档底部的“It's good but\xe2\x80\xa6”链接)

\n