【发布时间】:2016-07-14 20:09:13
【问题描述】:
我需要滚动到底部。我有一个像whatsapp这样的聊天应用程序。所以当视图出现时,表格视图应该显示最后一行。我通过以下方式实现了这一点并且效果很好。
tableView.setContentOffset(CGPointMake(0, CGFloat.max), animated: false)
当键盘出现时,我还需要滚动到底部。我正在使用自动布局,上面的行不起作用。为此,我使用以下行:
func scrollToLastRow(animated: Bool) {
if self.numberOfRowsInSection(0) > 0 {
self.scrollToRowAtIndexPath(NSIndexPath(forRow: self.numberOfRowsInSection(0) - 1, inSection: 0), atScrollPosition: .Bottom, animated: animated)
}
}
这是 Tableview 的扩展。
当没有太多消息时,此解决方案可以正常工作。然后我尝试了 5000 条消息(所以 tableview 有 5000 行,但我正在分页它们)当键盘出现时,我看到 cpu 使用率为 %98-100。我认为第二个代码是分页问题,它会导致将每条消息加载到 ram 并且我的应用程序冻结并收到 ram 警告。
如何在没有任何性能问题的情况下滚动到底部?
【问题讨论】:
-
您找到解决方案了吗?也使用领域。
标签: ios swift uitableview