簡體   English   中英

屏蔽UIImageView不起作用

[英]Masking a UIImageView doesn't work

我有一個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

有關各種內容的更多信息,您可以在此處嘗試。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM