【发布时间】:2019-01-06 06:21:05
【问题描述】:
在 Swift 3 中。我的应用程序有一个表视图和一个详细视图,其中是一个视图控制器。在这里,我添加了一个集合视图。必须呈现一组图像。如果在纵向中我检查缩放器中的内容模式以填充,图像会很好地适应自己。在 ladscape 中,它适用于 aspectFill。反之亦然,布局不合适。我做了以下 在 cellForItem 处:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = myCollection.dequeueReusableCell(withReuseIdentifier: "cellCollection", for: indexPath) as! CollectionViewCell
cell.cellImage.image = UIImage(named: array[indexPath.item])
if UIDevice.current.orientation.isLandscape{
cell.cellImage.contentMode = .scaleAspectFill
}
else if UIDevice.current.orientation.isPortrait{
cell.cellImage.contentMode = .scaleToFill
}
return cell
}
它不起作用。可能是我从纵向到横向有一些不一致的地方。 我会很感激你的帮助。如果你想看一下 git 中的项目: [https://github.com/ricardovaldes/tareaFinalHoteles.git1。提前致谢。
【问题讨论】:
-
您的问题不清楚。为什么要根据设备的方向使用不同的内容模式?
-
仅仅因为图像适合并且集合视图的滚动也正常。我现在不知道为什么,但是在纵向填充和横向填充时的比例非常好。只需查看 GitHub 中的项目即可。谢谢。
-
您需要说明您遇到的问题。目前还不清楚。没有人应该仅仅为了知道你遇到了什么问题而构建和运行你的项目。这不是本网站的运作方式。
-
好的,麦迪。我想让我的图像显示在我的收藏卷轴中。在纵向中,当内容模式按比例填充时,它看起来非常好。我使用 size for item at 来尝试配置我的单元格。
-
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { let size = CGSize(width: myCollection.frame.size.width, height: 280) return尺寸 }
标签: swift image layout uicollectionview