用UIImageView顯示圖片的時候,一般我們都是先把UIImageView的寬和高都設置好了,然后下載圖片顯示就可以了;但是下載的圖片有可能拉伸,那么就需要顯示圖片的時候 等比顯示;如下面(ImageVIew是一個設置好的UIImageView):
//下面這中方式顯示的圖片是不會拉伸的,它是等比顯示的,然后把超出顯示的部分剪切掉
self.ImageVIew.image = [UIImage imageNamed:@"yangyang"];
// 內(nèi)容模式
self.ImageVIew.contentMode = UIViewContentModeScaleAspectFill;
// 超出邊框的內(nèi)容都剪掉
self.ImageVIew.clipsToBounds = YES;
下面用圖介紹幾種常用的方式
Snip20161018_2.png
上圖中的底部藍色部分是設置好的UIImageView的寬和高
第一種是拉伸填充的;
第二種是等比填充的不會拉伸,居中顯示;
第三種就是最上面的那種,他是等比縮放,要縮放到寬或者高有一個剛剛好,但是另一個(寬或者高)有可能也是剛剛好或者超出顯示的部分(不會有顯示的圖片小與寬或者高),然后居中顯示,超出的部分剪切掉;
UIImageView的contentMode的屬性方式:
UIViewContentModeScaleToFill : 圖片拉伸至填充整個UIImageView(圖片可能會變形)
UIViewContentModeScaleAspectFit : 圖片拉伸至完全顯示在UIImageView里面為止(圖片不會變形)
UIViewContentModeScaleAspectFill :
圖片拉伸至 圖片的寬度等于UIImageView的寬度 或者 圖片的高度等于UIImageView的高度 為止(居中顯示)
UIViewContentModeRedraw : 調(diào)用了setNeedsDisplay方法時,就會將圖片重新渲染
UIViewContentModeCenter : 居中顯示
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
經(jīng)驗規(guī)律:
1.凡是帶有Scale單詞的,圖片都會拉伸
2.凡是帶有Aspect單詞的,圖片都會保持原來的寬高比,圖片不會變形