有没有办法指定UITableView行动画的持续时间,或者在动画完成时获得回调?

我想要做的是在动画完成后闪烁滚动指示器.在那之前闪光不会有任何效果.到目前为止,我的解决方法是延迟半秒(这似乎是默认的动画持续时间),即:

[self.tableView insertRowsAtIndexPaths:newRows
                      withRowAnimation:UITableViewRowAnimationFade];
[self.tableView performSelector:@selector(flashScrollIndicators)
                     withObject:nil
                     afterDelay:0.5];

推荐答案

如今,如果你想做到这一点,有一个新功能starting from iOS 11:

- (void)performBatchUpdates:(void (^)(void))updates 
                 completion:(void (^)(BOOL finished))completion;

在UPDATES CLOCKES中,您放置的代码与eginUpdates()/endUpdates节中的代码相同.并且在所有动画之后执行完成.

Ios相关问答推荐

如何在Flutter 中为S家长增加一个相对高度的间距

当重新呈现UI时,嵌套的 struct 值如何与@Observable一起工作?

如何从Windows PC在iPhone上安装Flutter 应用程序

Swift locationManager.requestWhenInUseAuthorization() 不提示用户

如何通过点击按钮滚动到 ScrollView 中的特定视图?

NavigationLink 只能在文本部分点击

iOS 16 中的状态栏 colored颜色

Swift Combine 防止初始值触发接收器并同时防止重复?

从远程通知启动时,iOS 应用程序加载错误

滑动以返回特定的 SwiftUI 视图

如何使用 Swift 文档注释

iPhone 6 和 6 Plus 媒体查询

检测 iPhone/iPad/iPod touch 的 colored颜色 ?

警告:iPad:Icon-72.png:图标尺寸(0 x 0)

在 iOS 编程中使用 Storyboard 代替 xib 文件有什么好处?

iOS 中是否有用于自定义振动的 API?

从 WKWebView 获取所有 cookie

Xcode 4 + iOS 4.3:存档类型不存在打包程序

文件是为存档而构建的,它不是被链接的体系 struct (i386)

类 AMSupportURLConnectionDelegate 在两者中都实现