2016-09-02 36 views
1

我有一个UIImageview设置:屏蔽一个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

我会建议不要掩盖。您可以将imageView的大小设置为固定大小,然后使用contentMode属性来调整其显示图像的方式。我建议'ScaleAspectFill'猜测你如何使用这个。 –

+0

你有一些代码作为例子,所以我知道如何去做,这是我第一次与 – Benja0906

回答

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