我将 NSFetchedResultsController 与 UITableView 一起使用。我需要像 iMessage 一样进行聊天,从上到下按顺序发送消息。我需要滚动到 UITableView 底部以显示最后一条消息
tableView.scrollToRowAtIndexPath(lastMessageIndexPath, atScrollPosition: UITableViewScrollPosition.None, animated: false)
但是当我滚动我的 UITableView 时,方法 tableView:cellForRowAtIndexPath: 调用 fetchedResultsController 中的所有消息。我认为是因为这个,并且有一个很长的opening viewController
请帮我解决这个问题,并加速打开viewController
最佳答案
不滚动,只设置内容偏移,不带动画。至少需要确定每个单元格的高度,但不需要为每一行加载单元格本身。
请注意,大多数以这种方式显示的应用程序不会在最近的历史记录中包含所有旧消息,它们只会有几页,如果您向上滚动太远,它们将需要去加载那些较旧的消息。这种方法存在边界和加载问题。
关于ios - 表中的 NSFetchedResultsController 和 scrollToBottom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37195488/