UIImageView使用其contentMode屬性和圖像本身尺寸來確定如何顯示圖像。最好指定其尺寸與UIImageView尺寸完全匹配的圖像罗侯,但UIImageView可以縮放圖像以適應所有或部分可用空間清笨。如果UIImageView的尺寸本身發(fā)生變化月杉,則會根據需要自動縮放圖像。
override func viewDidLoad() {
super.viewDidLoad()
let imgView = UIImageView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
imgView.backgroundColor = UIColor.red
imgView.layer.borderWidth = 1
imgView.layer.borderColor = UIColor.red.cgColor
imgView.image = UIImage(named: "test")
imgView.contentMode = .scaleToFill
self.view.addSubview(imgView)
}
public enum UIViewContentMode : Int {
case scaleToFill // 縮放圖片填充容器抠艾,圖片和容器比例不一致會導致圖片變形
case scaleAspectFit // 按比例調整圖片尺寸適配容器苛萎,在容器中顯示圖片整體,多余區(qū)域為透明空白, 圖片不會變形
case scaleAspectFill // 按比例調整圖片尺寸適配填充到整個容器,超出容器部分會被裁減
case redraw // bounds 改變時調用-setNeedsDisplay腌歉, 重繪視圖
case center // 圖片尺寸不變蛙酪,與容器中心對齊
case top
case bottom
case left
case right
case topLeft
case topRight
case bottomLeft
case bottomRight
}
效果圖