偶然发现scrollToRowAtIndexPath突然失效,以前是正常的,在没有改动代码的情况下突然失效,查阅相关资料发现了很多种解决办法,例如使用setContentOffset代替,给tableView设置frame,测试后均无法解决。
我在调用scrollToRowAtIndexPath时加了短暂延迟完美解决了此问题
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
});
网友评论