ios - 使用 inputAccessoryView 在 UICollectionViewController 上的零索引中插入项目时出现问题
问题描述
我正在使用 开发聊天对话 UI UICollectionViewController
,最初在collectionViewController中有 20 个项目。
当我滚动到顶部时。
if scrollView.contentOffset.y == - 44 { /* Inserting 10 items at zero th position in collectionView */ }
我将插入 10 个项目IndexPath(item: 0, section: 0)
所以在 CollectionView 中总共会有 30 个项目。
此时我遇到了一些 UI 动画问题,并且集合视图被滚动到顶部。
例如实际项目是 0,1,2,3...19
现在我在第零个索引处插入,所以像 29,28,27,...20,0,1,2,3...19 这样的项目
我希望你明白。
我的问题是当我的收藏视图在顶部显示 0、1、2、3 时,我正在插入 29、28、27、...20,但收藏视图不会向上或向下滚动。它必须显示相同的 0,1,2,3 (在顶部静默插入项目并且不更改任何 ui)
就像 WhatsApp 聊天 - 在滚动到顶部时获取旧消息。
解决方案
我不知道我是否理解,但你可以试试这个:
self.collectionView.setContentOffset(CGPoint(x:0,y:0), animated: true)
在您的insertItem
方法填充您的数据源之后。
推荐阅读
- json - Angular 2+ - 解析 json 数据并仅输出单个特定数据
- phpword - TemplateProcessor 中的 HTML 到 OOXML
- r - R:使用 while 循环更新列表对象的问题
- node.js - 如何在 Node/Express 的客户端中正确呈现服务器端错误?
- android - 在 Android 和 ios 上用 Unity 录制屏幕视频的最佳方式?
- ember.js - Ember:序列化任意哈希键名
- javascript - 编写这种排序函数的更简洁的方法
- popup - 在 ADF 中的禁用链接上显示弹出窗口
- c# - 在 DataGridView 的列中隐藏值 00:00:00 TimeSpan
- android - 如何通过后退按钮从第三个活动返回到第二个活动?