我设置了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
看起来像这样,这里出了什么问题?
答案 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