ios - 使用 inputAccessoryView 在 UICollectionViewController 上的第 0 个索引中插入项目时出现问题

标签 ios swift uicollectionview chat

我正在使用 UICollectionViewController 开发聊天对话 UI,最初在 collectionViewController 中有 20 个项目。

当我滚动到顶部时。

if scrollView.contentOffset.y == - 44 { /* Inserting 10 items at zero th position in collectionView */ }

我将在 IndexPath(item: 0, section: 0)

处插入 10 个项目

因此 CollectionView 中总共有 30 个项目。

此时我遇到了一些 UI 动画问题, Collection View 滚动到顶部。

例如实际项目为 0,1,2,3...19

现在我在第零个索引处插入像 29,28,27,...20,0,1,2,3...19 这样的项目

希望你能理解。

example gif

我的问题是当我的 Collection View 在顶部显示 0,1,2,3 时我插入 29,28,27,...20 但 Collection View 不会向上或向下滚动。它必须显示相同的 0,1,2,3 (在顶部默默插入项目并且不更改任何 ui)

像 WhatsApp 聊天一样 - 滚动到顶部时获取旧消息。

最佳答案

我不知道我是否明白,但你可以试试这个:

 self.collectionView.setContentOffset(CGPoint(x:0,y:0), animated: true)

在您的 insertItem 方法填充数据源之后。

关于ios - 使用 inputAccessoryView 在 UICollectionViewController 上的第 0 个索引中插入项目时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58233649/

相关文章:

iphone - 2 个库中的 Objective-C 链接器错误

ios - 在 ARC iOS App 中完全卸载 UIViewController

ios - 当 searchBar 在部分标题中时,UICollectionView reloadData 退出第一响应者/关闭键盘

ios - 使用自定义布局重新加载 UICollectionView 会引发错误

ios - 如何用动画结束 UILongPressGestureRecognizer?

ios - 线程 1 : EXC_BAD_ACCESS (code=2, 地址=0x7fff522f9e98)

ios - 状态栏未显示在 iOS 应用程序上

ios - 快速分页电影数据库

ios - SwiftUI ScrollView 和 OnLongPressGesture

ios - CoreText 属性字符串高度计算不准确