UITmageView中的UIImageView或AVPlayer(照片或视频)

时间:2017-06-22 09:37:18

标签: ios swift uitableview firebase firebase-storage

1)我有一个UITableView的应用程序。此单元格包含UILabelUIButton(喜欢,说明等)等内容,还应存储图片或视频(取决于帖子类型(如instagram经典帖子)) 。因此,细胞可以是两种类型之一:带视频或带照片。其他信息,约束,大小等是相似的。

目前我只有一个自定义单元格类型UIView(均为照片/视频)。我在此AVPlayer上添加了UIImageViewUIView的图层。它有效,但我认为这是一个如何做到这一点的坏方法。对于图层来说,它的逻辑非常糟糕。

怎么做得好?我应该有2种自定义细胞类型吗?或者也许存在一些图书馆?

2)我从Firebase-storage下载数据。此操作是异步的。因此,我将MediaAspectRatio媒体(width/height)存储在我的PostItem中。在单元格看起来没有裁剪媒体之前,我使用它来缩放UIView。我也不确定,这是正确的逻辑。

任何建议都表示赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

两种方式都有效。但是,具有2种不同的细胞类型可能是更清洁的实现。

同样拥有2种单元格类型将使您不必动态地将imageView与AvPlayer图层交换,这可能会因为单元格重用而使事情变得复杂。

至于调整大小,只要确保不破坏任何约束,逻辑听起来不错。

图像视图和AvPlayers具有AspectFill的概念,您希望这样做不会破坏媒体的宽高比而不会同时裁剪它。

另一方面,AspectFit将保持纵横比和裁剪。