第一次显示时,tableView不会滚动到底部

时间:2018-04-29 00:40:46

标签: ios swift uitableview

首次展示我的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正确滚动到底部。

0 个答案:

没有答案