UIImageView contentMode

UIImageView使用其contentMode属性和图像本身尺寸来确定如何显示图像。最好指定其尺寸与UIImageView尺寸完全匹配的图像,但UIImageView可以缩放图像以适应所有或部分可用空间。如果UIImageView的尺寸本身发生变化,则会根据需要自动缩放图像。


 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 // 按比例调整图片尺寸适配容器,在容器中显示图片整体,多余区域为透明空白, 图片不会变形
        case scaleAspectFill // 按比例调整图片尺寸适配填充到整个容器,超出容器部分会被裁减
        case redraw // bounds 改变时调用-setNeedsDisplay, 重绘视图
        case center // 图片尺寸不变,与容器中心对齐
        case top
        case bottom
        case left
        case right
        case topLeft
        case topRight
        case bottomLeft
        case bottomRight
    }

效果图

UIImageView contentMode_第1张图片
ImageMode.jpg

你可能感兴趣的:(UIImageView contentMode)