ios - scrollViewDidScroll : on UITableViewRowAnimation?

标签 ios iphone uitableview uiscrollview

当一个人在删除一行或添加一行时使用 UITableViewRowAnimation 时,有时如果该行位于 TableView 的极端,则表会滚动。

然而,即使它滚动,它似乎也没有在委托(delegate)上调用 scrollViewDidScroll:

例如,我的委托(delegate)中有以下代码。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    NSLog(@"Scrolling %f", scrollView.contentOffset.y);
}

如果用户滚动,它会被调用。 但是当我删除一行时:

[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

scrollViewDidScroll: 方法根本没有被调用。

有什么方法可以确保在 UITableView 动画时调用它?

谢谢!

最佳答案

如果您不知道,scrollViewDidScroll 仅在响应用户 与 ScrollView (或在本例中为 TableView )的交互时被调用。由于动画而不会响应滚动而调用它。此行为是固定的。你需要找到另一种方法来实现你所追求的目标。也许这个现有的问题可能有用:

How to make UIScrollView send scrollViewDidScroll messages during animations

关于ios - scrollViewDidScroll : on UITableViewRowAnimation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22648168/

相关文章:

objective-c - 在iPhone的 objective-c 中导入VCard

ios - AFNetworking 获取 json 值。网址无效

iphone - 快速在每个 View Controller 上滑动菜单

iphone - 以编程方式查找 iPhone 应用程序标识符前缀

ios - 当我们从 AppSTore 下载应用程序或更新时,iOS 会调用哪些 API

iOS-在数据添加到数组后让 Segue 执行 (Swift)

ios - 在 iPod Touch/iPhone Objective-C 中保存数据的最佳方式

ios - indexPath.row 在 tableView 自定义单元格 iOS 中没有给出正确的值

iphone - iOS UILabel 不重绘到新尺寸

swift - 用户单击按钮时如何取消选择 UITableView 单元格?