Ios 屏蔽UIImageView不会';行不通

Ios 屏蔽UIImageView不会';行不通,ios,swift,uiview,uiimageview,mask,Ios,Swift,Uiview,Uiimageview,Mask,我有一个UIImageview设置: let picture = UIImageView(frame: imageFrame) picture.image = UIImage(named: image) 你可以在这里看到: 现在我想把它屏蔽为一个恒定的大小,因为我将是随机大小的随机图片,所以我创建了一个UIView: let frame = CGRect(x: 0, y: CGRectGetMaxY(menuLine.frame) + HeightForSize * 0.05, width:

我有一个
UIImageview
设置:

let picture = UIImageView(frame: imageFrame)
picture.image = UIImage(named: image)
你可以在这里看到:

现在我想把它屏蔽为一个恒定的大小,因为我将是随机大小的随机图片,所以我创建了一个UIView:

let frame = CGRect(x: 0, y: CGRectGetMaxY(menuLine.frame) + HeightForSize * 0.05, width: view.bounds.width, height: HeightForSize * 0.9)
let mask = UIView(frame: frame)
mask.backgroundColor = UIColor.whiteColor()
当我将子视图添加到视图时,它看起来如下所示:

但当我试图掩盖它时:

picture.maskView = mask
看起来像这样,这里出了什么问题


UIImageView尊重contentMode,它可能比掩码更容易满足您的需要。将imageView设置为希望所有图像都适合的固定大小。例如,如果希望图像在太高的情况下压缩并显示黑色条,请使用
UIViewContentMode.scaleAspectFit
。但看起来最好的可能是
UIViewContentMode.scaleAspectFill
。它将保持图像的纵横比和比例,直到填充您创建的imageView框。使用这两种模式和其他模式查看它们的效果

let imageView = UIImageView(image: UIImage(named: "myImage"))
imageView.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
imageView.contentMode = .scaleAspectFill
有关各种内容模式的更多信息,您可以在此处尝试


UIImageView尊重contentMode,它可能比掩码更容易满足您的需要。将imageView设置为希望所有图像都适合的固定大小。例如,如果希望图像在太高的情况下压缩并显示黑色条,请使用
UIViewContentMode.scaleAspectFit
。但看起来最好的可能是
UIViewContentMode.scaleAspectFill
。它将保持图像的纵横比和比例,直到填充您创建的imageView框。使用这两种模式和其他模式查看它们的效果

let imageView = UIImageView(image: UIImage(named: "myImage"))
imageView.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
imageView.contentMode = .scaleAspectFill
有关各种内容模式的更多信息,您可以在此处尝试


我建议不要使用任何遮罩。您可以将imageView的大小设置为固定大小,然后使用属性
contentMode
调整它显示图像的方式。我建议您猜测一下如何使用它。您是否有一些代码作为示例,以便我知道如何使用它,这是我第一次使用它,我建议您完全不要掩蔽。您可以将imageView的大小设置为固定大小,然后使用属性
contentMode
调整它显示图像的方式。我建议您猜测一下如何使用它。您是否有一些代码作为示例,以便我知道如何使用它,这是我第一次使用它