UITableView scrollToRow When switching to the next or previous page, the contents of the previous page do not disappear immediately, but remain as an afterimage and overlap for a while.

UITableView scrollToRow When switching to the next or previous page, the contents of the previous page do not disappear immediately, but remain as an afterimage and overlap for a while.

Use UITableView's scrollToRow to switch to the previous or next page.

There were no strange symptoms until iOS 15.

However, starting with iOS 16, there is a strange phenomenon.

Make scrollToRow work with no animation. (code below)

tableView!.scrollToRow(at: IndexPath(row: self.pIndex, section: 0), at: .top, animated: false)

When I keep switching to the next or previous page, the content displayed on the next or previous page remains as an afterimage and disappears.

So, the contents of the page you moved briefly to and the contents of the previous page are overlapped.

And the contents of the previous page disappear.

Does anyone have a cause or solution for this issue?

This is especially the case with the iPhone 14 Pro or 14 Pro Max, but the same phenomenon occurs even if the promotional display function is disabled.

In info.plist, the CADisableMinimumFrameDurationOnPhone value is set to YES.

And when I switch pages with scrollToRow , it happens when I switch from the current page to the next or previous page. But when I switch to a page that is a bit far from the current page, it doesn't seem to happen.

The same phenomenon does not occur in iPhone 8 and iPhone 12 Pro Max with iOS 16.0.3 installed, such as iPhone 14 Pro Max.

I have attached a link to a video of the phenomenon. Please check the video too.

https://youtube.com/shorts/Lb4-yhTnMNg?feature=share

Could you please provide a minimal sample app to reproduce this?

UITableView scrollToRow When switching to the next or previous page, the contents of the previous page do not disappear immediately, but remain as an afterimage and overlap for a while.
 
 
Q