gpt4 book ai didi

ios - UIImage Scale Aspect Fill 和 Clip Subviews 在 UICollectionView 中不起作用

转载 作者:技术小花猫 更新时间:2023-10-29 10:44:37 26 4
gpt4 key购买 nike

我有一个 UICollectionView,其单元格包含一个 UIImageView。我将 UIImageView frame.size 设置为与单元格的 frame.size 匹配,并且还明确要求 UIImageView 在 cellForItemAtIndexPath 方法中按以下方式使用 Aspect Fill & Clip Subview 进行缩放:

let cell:UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! UICollectionViewCell

...

var imageView = UIImageView(image: self.eventImages[indexPath.row])
imageView.frame.size = cell.frame.size
cell.contentMode = UIViewContentMode.ScaleAspectFill
cell.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFill
imageView.clipsToBounds = true
cell.addSubview(imageView)

结果是拉伸(stretch)图像(IMAGE A),但是当我单击(点击)图像时,它“神奇地”解析了 Aspect Fill & Clip Subviews (IMAGE B) 。我似乎无法理解为什么只有在点击后才会发生这种情况,而不是在第一次加载图像时发生。它们被异步获取到服务器,但缩放仅在点击图像后发生(也没有实现点击功能)。

注意:UICollectionView 是在 Storyboard View Controller 中设置的,Collection View 和 Reusable Cell 都启用了 Aspect Fill 和 Clip Subviews。

图像 A(错误缩放 - 拉伸(stretch)且未裁剪):

IMG A

图像 B(点击后正确缩放):

IMG B

最佳答案

这样做很简单:

imageView.contentMode = UIViewContentMode.ScaleAspectFill;
imageView.layer.masksToBounds = YES;

关于ios - UIImage Scale Aspect Fill 和 Clip Subviews 在 UICollectionView 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31330973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com