在索引 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 开始没有滚动效果的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 3.0 中,没有在数组中的索引处获取对象的键值语法