При первом представлении контроллера tableView я загружаю данные в массив модели, а затем прокручиваю tableView вниз. Однако tableView не прокручивается полностью вниз. Просто прокручиваем в промежуточную позицию. Последующая прокрутка одним и тем же способом всегда корректно прокручивается к нижней части.
У меня есть следующий код в моей viewDidLoad таблицы ViewController:
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)")
}
}
Я использую inputAccessoryView в моем tableViewController. Кроме того, я использую AutomaticDimensions, хотя я пытался рассчитать высоту каждой строки, и это не имело никакого значения.
Хотите знать, почему tableView прокручивается в произвольную промежуточную позицию, а не вниз? При всех последующих вызовах scrollToRowAt tableView правильно прокручивается вниз.