首次展示我的tableView控制器时,我将数据加载到我的模型数组中,然后将tableView滚动到底部。但是tableView不会一直向下滚动。只需滚动到中间位置。使用相同方法的后续滚动始终正确滚动到底部。
我在tableViewController的viewDidLoad中有以下代码:
override func viewDidLoad() {
super.viewDidLoad()
let fetchRequest: NSFetchRequest<Item> = NSFetchRequest(entityName: "Item")
do {
let fetchedResults = try context.fetch(fetchRequest)
if fetchedResults.count > 0 {
self.dataArray = fetchedResults
let indexPath = IndexPath(item: (dataArray.count - 1), section: 0)
self.tableView.scrollToRow(at: indexPath, at: UITableViewScrollPosition.bottom, animated: false)
}
} catch {
print("Could not fetch \(error)")
}
}
我在tableViewController中使用了inputAccessoryView。另外我使用automaticDimensions虽然我尝试计算每一行的高度,但没有任何区别。
想知道为什么tableView滚动到任意中间位置而不是底部。在所有后续的scrollToRowAt调用中,tableView正确滚动到底部。