私は時間のために、この問題に頭を叩いて、私はこのような何かをしようとするたびにされてきた:なぜinsertRowsAtIndexPathsは常にTableViewを上にスクロールさせますか?
self.dataArray.append(newCellObj)
、その後、私はこれを実行します。
self.tableView.beginUpdates()
self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
self.tableView.endUpdates()
をのUITableViewは自動的にスクロールしますページの上部。
は私がしようとした場合でも:
self.tableView.scrollEnabled = false
self.tableView.beginUpdates()
self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
self.tableView.endUpdates()
のUITableViewはまださえ完全に無効にスクロールして一番上にスクロールします。 insertRowsAtIndexPaths
の後にScrollViewが上にスクロールするのはどうしてですか?代わりに
self.tableView.reloadData()
:この問題のために私が持っている
唯一の解決策は、これを使用することです。代わりにreloadDataを使用すると、大丈夫ですが、本当に素晴らしいアニメーションが失われてしまいます。
私もself.tableView.scrollsToTop = false
を持っていると私はinsertRowsAtIndexPaths
に
estimatedRowHeight
より正確に設定@RyanPoolosありがとうございます、それは私のための開始/終了の更新なしでうまく動作します。 :D –