ios - 首次呈现时 tableView 不会滚动到底部
问题描述
在第一次展示我的 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 正确滚动到底部。
解决方案
推荐阅读
- java - Spring MVC 表单将多个复选框绑定到 List
- php - 允许访问私有变量 PHP(var_dump,调试)
- java - 在某些特定行之前无法写入文件
- kotlin - 是否可以在其他类上实现扩展运算符?
- reactjs - 隐藏材质UI依然渲染元素
- javascript - 我们如何为输入类型提供多个 id?
- bash - 用于在终端输出中搜索特定单词的 Bash 脚本
- android - 将 Android NDK 添加到项目和`OS无关路径错误`
- visual-studio - Visual Studio 2017 如何将缺少的 dll 添加到 C++ 项目?
- python - 通过用户输入在字典中添加/减去值