ios - 确定集合视图中的滚动位置
问题描述
我有一个集合视图,可以水平滚动。它水平显示元素列表。 这是我的收藏视图
我想在我的滚动条当前所在的集合视图的中间添加一个元素。假设我将滚动条一直拖到右侧,那么添加的元素应该在最右边部分的中间。如何确定集合视图中的滚动条位置?
解决方案
UICollectionView
在(或者更确切地说是它的基于类UIScrollView
的属性)上有一个属性,contentOffset
它指示当前移动(滚动)了多少内容。
然后您需要使用此值并将其与 half of 组合collectionView.frame.size.width
以获得您需要放置新元素的位置。
现在一旦你有了它,你需要使用- (nullable UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath;
和迭代所有元素来找到indexPath
你需要用于新元素的合适的地方。
NSIndexPath
在末尾插入新元素是必需的。一旦你有了它,你需要向你的dataSource
和 reload添加新元素UICollectionView
。
推荐阅读
- vue.js - 从 VueJS 中的组件获取数据
- powershell - Powershell选择不在的地方
- android - Android:自定义textView中的文本不居中
- oauth-2.0 - 如何在测试中调用 Google Account Linking?
- matlab - 任何相当于fitdist的Octave?
- com - 用新的托管 COM 可调用程序集替换 COM DLL
- javascript - queryselector 为输入字段返回不正确的值
- javascript - 赛普拉斯 - 如何在另一个请求标头中使用响应正文
- r-markdown - 我正在使用 rmarkdown::render(my_file.Rmd) 渲染 beamer_presentation 擦除了我计算机上的所有内容
- javascript - 如何根据Angular中另一个对象的属性过滤对象数组?