添加新行后,UITableView scrollToRow不再适用于iOS 11

Guy*_*Guy 10 iphone uitableview ios

我注意到一个奇怪的UITableView行为,似乎只出现在iOS 11设备上.

在插入新行之后(更改数据源然后调用reloadData,UITableView在调用scrollToRowscrollToBottom()方法时不会滚动到该行).

在iOS 10或更早版本上执行某些操作时,它可以完美地工作,并且UITable会像它应该的那样滚动.

谢谢!

小智 6

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    [self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
});
Run Code Online (Sandbox Code Playgroud)

在我的情况下,添加一个小延迟.