屏蔽UIImageView不起作用

时间:2016-09-02 09:55:49

标签: 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: view.bounds.width, height: HeightForSize * 0.9)
let mask = UIView(frame: frame)
mask.backgroundColor = UIColor.whiteColor()

当我将子视图添加到我的视图时,它看起来像这样:

但是当我试图掩饰它时:

picture.maskView = mask

看起来像这样,这里出了什么问题?

1 个答案:

答案 0 :(得分:0)

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

您可以在此处尝试各种内容模式的更多信息。

https://developer.apple.com/reference/uikit/uiviewcontentmode