UIViewContentMode
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit
UIViewContentModeScaleAspectFill
UIViewContentModeRedraw
UIViewContentModeCenter
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
UIViewContentModeTopLeft
UIViewContentModeTopRight
UIViewContentModeBottomLeft
UIViewContentModeBottomRight
UIViewContentModeScaleAspectFill也会让图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。 例:②
UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。 例: ③
UIViewContentModeScaleToFil 可以保证整张图片全部显示ImageView中 但是会变形 例:④
解决:
imageView.clipsToBounds = YES;
imageView.contentMode = UIViewContentModeScaleAspectFill;
原理
这里的clip是修剪的意思,bounds是边界的意思
连起来就是 :子视图的范围超出了父视图的边界,那么超出的部分就会被裁剪掉。