在索引 x 处启动集合视图,从索引 0 开始没有滚动效果

Posted

技术标签:

【中文标题】在索引 x 处启动集合视图,从索引 0 开始没有滚动效果【英文标题】:Launch collection view at index x without scrolling effect from index 0 【发布时间】:2015-11-01 10:21:17 【问题描述】:

我正在尝试创建类似页面的新闻提要。第一页包含帖子标题列表。单击特定帖子将转到详细信息页面。现在我希望详细信息页面成为所有帖子详细信息的集合视图,以避免在详细信息页面之间不断来回。用户必须能够向下滚动到下一个帖子详细信息,而不是返回并选择新的帖子标题。当我单击帖子 x 时,我希望详细信息页面直接显示帖子详细信息 x。我能够通过使用 scrolltoIndex:x 来实现这一点。我宁愿直接显示帖子详细信息 x 而不是发布详细信息 0 然后快速滚动到 x。当用户被直接带到 postDetail x 时,我希望填充帖子详细信息的上方和下方单元格,以便用户可以平滑滚动以选择帖子详细信息。这里有什么建议吗?

这就是我要找的。 enter image description here

【问题讨论】:

【参考方案1】:

要滚动到不带动画的UICollectionView 中的项目,您可以使用scrollToItemAtIndexPath 并将animated 设置为NO

[collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionTop animated:NO]

【讨论】:

这是一个很好的建议,并且已经尝试过了。但这不是我要找的。我想立即转到帖子详细信息 x,然后加载上一个和后续帖子详细信息。 你能发一些截图吗?我不太明白你的导航。 我在问题中添加了我的模型模板。使用选项动画的问题:NO 是每个单元格都是一个自定大小的单元格,这是由我从服务调用中获得的数据响应确定的。因此,例如,如果用户单击帖子标题 100,系统会尝试立即滚动到帖子详细信息 100,而信息仍在下载中。因此,一旦下载完成,单元格就会调整大小,我最终滚动到的位置不是帖子细节 X,而是一些帖子细节 x - k。为了避免这种混淆,我想直接加载帖子详细信息 X,然后获取其他单元格【参考方案2】:

我终于破解了。挺容易。只需在 viewWillAppear 方法中调用 scrollToIndex 而不是 viewDidAppear 方法。

【讨论】:

以上是关于在索引 x 处启动集合视图,从索引 0 开始没有滚动效果的主要内容,如果未能解决你的问题,请参考以下文章

MySQL从青铜到王者第八篇:MySQL视图事务索引

从选定索引处的表视图中的数组中删除

子串索引范围

在 Swift 3.0 中,没有在数组中的索引处获取对象的键值语法

运行时出现该字符串未被识别为有效的 DateTime。有一个从索引 0 处开始的未知字。

热门获取集合视图中现有对象的索引路径[关闭]