在UITableViewCell中的UIImageView或AVPlayer(照片或video)

1)我有一个UITableView的应用程序。 这个单元格有一些像UILabelUIButton (喜欢,说明等)的内容,它也应该存储图像或video(取决于types的职位(如instagram经典邮政))。 所以细胞可以是两种types之一:有video或有照片。 其他信息,限制,尺寸等是相似的。

目前,我只有一个与UIView自定义单元格types(照片/video)。 而且我在这个UIView上添加了AVPlayerUIImageView图层。 它有效,但我认为这是如何做到这一点的一个坏方法。 另外这是非常糟糕的逻辑与图层。

如何正确地做到这一点? 我应该有2个自定义单元格types? 或者,也许有一些图书馆存在吗?

2)我正在从Firebase-storage下载数据。 这个操作是asynchronous的。 所以我在我的PostItem存储MediaAspectRatiowidth/height )。 我使用它来缩放UIView在单元格出现不裁剪媒体之前。 我也不确定,这是正确的逻辑。

任何build议表示赞赏。 谢谢。

两种方式都可以。 然而有两种不同的细胞types可能是一个更清洁的实施。

另外有两种单元格types可以让你不必将图像视图与AvPlayer图层直接交换,这可能会因为单元重复使用而变得复杂。

至于你所做的调整,只要确保你没有违反任何限制,逻辑听起来不错。

图像视图和AvPlayers具有AspectFill的概念,这是你想要做的,不要打破你的媒体的纵横比,而不是在同一时间裁剪。

另一方面,AspectFit将保持长宽比和裁剪。