Ios 显示图像或自动播放视频,如Instagram提要

Ios 显示图像或自动播放视频,如Instagram提要,ios,swift,video,instagram,Ios,Swift,Video,Instagram,我想创建类似Instagram的订阅源,在这里我可以在打开帖子或显示帖子(图像)时显示自动播放视频 如何使用collectionView和仅一个用于视频和图像的单元格来实现这一点 您可以使用collectionView:willDisplayCell:forItemAtIndexPath:跟踪屏幕上即将显示的单元格,以及使用collectionView:didendisplayingcell:forItemAtIndexPath:跟踪将要删除的单元格 然后使用collectionView.con

我想创建类似Instagram的订阅源,在这里我可以在打开帖子或显示帖子(图像)时显示自动播放视频


如何使用collectionView和仅一个用于视频和图像的单元格来实现这一点

您可以使用
collectionView:willDisplayCell:forItemAtIndexPath:
跟踪屏幕上即将显示的单元格,以及使用
collectionView:didendisplayingcell:forItemAtIndexPath:
跟踪将要删除的单元格

然后使用collectionView.convert计算当前屏幕上显示最多的单元格,然后在该单元格上自动播放视频。当使用
scrollViewDidScroll
检测到用户滚动且屏幕上出现新单元格时,更新自动播放

我们可以有这样一个后结构:

struct post {
  videoURL: String?
  imageURL: String?
}
其中包含视频的帖子的imageURL值为零,反之亦然。获取帖子时,可以将其放入数组中

然后您可以查看数据,并使用
func collectionView(collectionView:UICollectionView,

cellForItemAt indexPath:indexPath)->UICollectionViewCell
确定在数据数组中的某个索引处显示哪种类型的
UICollectionViewCell

您可以使用
collectionView:willDisplayCell:forItemAtIndexPath:
跟踪屏幕上即将显示的单元格,以及使用
collectionView:willDisplayCell:forItemAtIndexPath:
删除的单元格
collectionView:didendisplayingcell:forItemAtIndexPath:

然后使用collectionView.convert计算当前屏幕上显示最多的单元格,然后在该单元格上自动播放视频。当使用
scrollViewDidScroll
检测到用户滚动且屏幕上出现新单元格时,更新自动播放

我们可以有这样一个后结构:

struct post {
  videoURL: String?
  imageURL: String?
}
其中包含视频的帖子的imageURL值为零,反之亦然。获取帖子时,可以将其放入数组中

然后您可以查看数据,并使用
func collectionView(collectionView:UICollectionView,

cellForItemAt indexPath:indexPath)->UICollectionViewCell
确定在数据数组中的某个索引处显示哪种类型的
UICollectionViewCell

您可以尝试此演示或类似instagram的自动播放视频代码


您可以为instagram等自动播放视频尝试此演示或代码


但我如何根据帖子内容在一个视图(collectionView单元格)上显示图像和视频?制作两个不同的单元格,一个带有UIImageView,另一个可能带有AVPlayer?然后根据indexPath和您拥有的数据,决定使用哪一个。我的数据是动态的,我不能根据索引路径设置单元格。我必须只使用一个单元格,并使其动态。但我不知道怎么做?是的,动态数据,但你必须以某种方式存储数据,对吗?可能在列表中,随着用户滚动和获取更多数据,您会增加列表的大小。你可以有一个带有可选图像和视频url的数据结构,如果图像url为零,则显示视频单元格,如果视频url为零,则显示图像单元格。很抱歉打扰你,但我仍然不确定如何使用两个单元格,你能分享一些代码吗?但我如何在一个视图(collectionView单元格)上显示图像和视频根据帖子的内容制作两个不同的单元格,一个带有UIImageView,另一个可能带有AVPlayer?然后根据indexPath和您拥有的数据,决定使用哪一个。我的数据是动态的,我不能根据索引路径设置单元格。我必须只使用一个单元格,并使其动态。但我不知道怎么做?是的,动态数据,但你必须以某种方式存储数据,对吗?可能在列表中,随着用户滚动和获取更多数据,您会增加列表的大小。你可以有一个带有可选图像和视频url的数据结构,如果图像url为零,则显示视频单元格,如果视频url为零,则显示图像单元格。很抱歉打扰你,但我仍然不确定如何使用两个单元格,你能分享一些代码吗?虽然这可能会解决OP的问题,这更适合作为对
Close->replicate Of
的评论或投票。。。回顾。虽然这可以解决OP的问题,但这更适合作为对
Close->replicate Of
的评论或投票。。。复习。