【问题标题】:UIImageView or AVPlayer (photo or video) in UITableViewCellUITableViewCell 中的 UIImageView 或 AVPlayer(照片或视频)
【发布时间】:2017-11-25 12:16:17
【问题描述】:

1) 我有一个UITableView 的应用程序。这个单元格有一些内容,如UILabelUIButton(喜欢、描述等),它还应该存储图像或视频(取决于帖子的类型(如instagram 经典帖子))。所以单元格可以是以下两种类型之一:带视频或带照片。其他信息、约束、大小等类似。

目前我只有一种带有UIView 的自定义单元格类型(均用于照片/视频)。我在这个UIView 上添加AVPlayerUIImageView 层。它有效,但我认为这是如何做到这一点的不好方法。层的逻辑也很糟糕。

如何正确操作?我应该有 2 种自定义细胞类型吗?或者可能存在一些图书馆?

2) 我正在从Firebase-storage 下载数据。此操作是异步的。所以我将MediaAspectRatio 的媒体(width/height)存储在我的PostItem 中。我正在使用它来缩放UIView,然后单元格似乎不会裁剪媒体。我也不确定,这是正确的逻辑。

感谢任何建议。谢谢。

【问题讨论】:

  • 1.) 我不确定它是否更好,但我为此使用了两个不同的自定义单元格。
  • @MarcelT 我明白了。我想有一个共同的解决方案。感谢您的回复。另外,您是否正在异步下载媒体?您如何调整视图大小以不裁剪它?
  • 抱歉,我无法回答您与 firebase 相关的问题,因为我在我的应用程序中使用了照片框架。另外,我正在裁剪它,所以对不起,我不能帮你。
  • @MarcelT 无论如何谢谢!

标签: ios swift uitableview firebase firebase-storage


【解决方案1】:

两种方式都行。然而,拥有 2 种不同的单元格类型可能是一种更简洁的实现方式。

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

至于你所做的调整大小,只要确保你没有打破任何约束,逻辑听起来不错。

图像视图和 AvPlayer 具有 AspectFill 的概念,这就是您希望在不破坏媒体纵横比的同时不对其进行裁剪。

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

【讨论】:

  • 感谢您的回复。我对你的支持。也许很快就会接受
  • 感谢@VladPulichev
猜你喜欢
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 2013-07-15
  • 2021-06-23
  • 2017-04-11
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
相关资源
最近更新 更多