1)我有一个UITableView
的应用程序。此单元格包含UILabel
,UIButton
(喜欢,说明等)等内容,还应存储图片或视频(取决于帖子类型(如instagram
经典帖子)) 。因此,细胞可以是两种类型之一:带视频或带照片。其他信息,约束,大小等是相似的。
目前我只有一个自定义单元格类型UIView
(均为照片/视频)。我在此AVPlayer
上添加了UIImageView
和UIView
的图层。它有效,但我认为这是一个如何做到这一点的坏方法。对于图层来说,它的逻辑非常糟糕。
怎么做得好?我应该有2种自定义细胞类型吗?或者也许存在一些图书馆?
2)我从Firebase-storage
下载数据。此操作是异步的。因此,我将MediaAspectRatio
媒体(width/height
)存储在我的PostItem
中。在单元格看起来没有裁剪媒体之前,我使用它来缩放UIView
。我也不确定,这是正确的逻辑。
任何建议都表示赞赏。感谢。
答案 0 :(得分:1)
两种方式都有效。但是,具有2种不同的细胞类型可能是更清洁的实现。
同样拥有2种单元格类型将使您不必动态地将imageView与AvPlayer图层交换,这可能会因为单元格重用而使事情变得复杂。
至于调整大小,只要确保不破坏任何约束,逻辑听起来不错。
图像视图和AvPlayers具有AspectFill的概念,您希望这样做不会破坏媒体的宽高比而不会同时裁剪它。
另一方面,AspectFit将保持纵横比和裁剪。