web-dev-qa-db-ja.com

iOS 11のUITableViewスクロールグリッチ(reloadDataテーブルとmopubプレーサーによって引き起こされるコンテンツオフセットジャンプ)

IOS 11にアップグレードすると、アプリのテーブルビューが突然スムーズにスクロールできなくなります。スクロール(またはreloadData)すると、テーブルビューが突然ランダムなコンテンツオフセット位置にジャンプします。

Mopubのプレーサーを使用してテーブルビューに広告を挿入しましたが、アプリが[tableview reloadData]を実行すると、テーブルビューのスクロールオフセットが正しくなくなり、ランダムな位置にジャンプします。

9
Sean Cheng

IOS 11にアップグレードしてから1か月後、私はこの議論を見つけました: ITableViewリロードメソッドは動作の回帰を示します in Apple開発者フォーラム。

この奇妙な動作は[tableview reloadData]が原因であることが判明し、mopub adplacerは常に[tableview reloadData]を呼び出します。したがって、mopub adplacerを使用したテーブルビューでこの問題が最も発生します。

この問題を解決するには、次のように設定します。

self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.estimatedSectionFooterHeight = 0;

そして、すべてのスクロールとreloadDataの動作はiOS10のように本当にスムーズになります。

40
Sean Cheng