iOS圖片填充UIImageView(contentMode)

來源:互聯網
上載者:User

iOS圖片填充UIImageView(contentMode)

本文主要形象的介紹一下UIView的contentMode屬性:

 

UIViewContentModeScaleAspectFit, //這個圖片都會在view裡面顯示,並且比例不變 這就是說 如果圖片和view的比例不一樣 就會有留白如1

 

 

 

 

 

 

 

 

 

 

 

 

 

UIViewContentModeScaleAspectFill, // 這是整個view會被圖片填滿,圖片比例不變 ,這樣圖片顯示就會大於view如2

既然要求不高 又不能留白 那我就可以用第二種 可是這樣就超出位置了,於是同事又開口了 截掉就可以了

然後完整過程就兩步

[self.prp_imageViewsetContentMode:UIViewContentModeScaleAspectFill];

self.prp_imageView.clipsToBounds = YES;

完美解決 以下是

 

實在是太喜歡他們了就先暫時當我的模特吧

 

然後 我就把所有的都是實驗了一遍,各種區別大家就看圖總結吧

UIViewContentModeCenter

UIViewContentModeTop

UIViewContentModeBottom

UIViewContentModeLeft

UIViewContentModeRight

UIViewContentModeTopLeft

UIViewContentModeTopRight

 

UIViewContentModeBottomLeft

UIViewContentModeBottomRight

 

其他更詳細的屬性介紹:

 

  • UIView有個UIViewContentMode類型的屬性contentMode,可以通過它來修改視圖的內容顯示模式。

     

    view sourceprint? 01.typedef NS_ENUM(NSInteger, UIViewContentMode) { 02.UIViewContentModeScaleToFill, 03.UIViewContentModeScaleAspectFit, // contents scaled to fit with fixed aspect. remainder is transparent 04.UIViewContentModeScaleAspectFill, // contents scaled to fill with fixed aspect. some portion of content may be clipped. 05.UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay) 06.UIViewContentModeCenter, // contents remain same size. positioned adjusted. 07.UIViewContentModeTop, 08.UIViewContentModeBottom, 09.UIViewContentModeLeft, 10.UIViewContentModeRight, 11.UIViewContentModeTopLeft, 12.UIViewContentModeTopRight, 13.UIViewContentModeBottomLeft, 14.UIViewContentModeBottomRight, 15.};

     

    執行個體代碼:

     

    view sourceprint? 1.CGRect rect = self.view.frame; 2.UIImageView *imageView = [[UIImageView alloc] initWithFrame:rect]; 3.imageView.contentMode = UIViewContentModeTop; 4.imageView.image = [UIImage imageNamed:@demoImage]; 5.[self.view addSubview:imageView];

     

    UIViewContentModeScaleToFill

    根據視圖的比例去展開圖片內容。

    UIViewContentModeScaleAspectFit

    保持圖片內容的縱橫比例,來適應視圖的大小。

    UIViewContentModeScaleAspectFill

    用圖片內容來填充視圖的大小,多餘得部分可以被修剪掉來填充整個視圖邊界。

    UIViewContentModeRedraw

    這個選項是單視圖的尺寸位置發生變化的時候通過調用setNeedsDisplay方法來重新顯示。

    UIViewContentModeCenter

    保持圖片原比例在視圖中間顯示圖片內容

    如果視圖大小小於圖片的尺寸,則圖片會超出視圖邊界,下面類同

    UIViewContentModeTop

    保持圖片原比例在視圖中間頂部顯示圖片內容

    UIViewContentModeBottom

    保持圖片原比例在視圖中間底部顯示圖片內容

    UIViewContentModeLeft

    保持圖片原比例在視圖中間左邊顯示圖片內容

    UIViewContentModeRight

    保持圖片原比例在視圖中間右邊顯示圖片內容

    UIViewContentModeTopLeft

    保持圖片原比例在視圖左上方顯示圖片內容


    UIViewContentModeTopRight

    保持圖片原比例在視圖右上方顯示圖片內容

    UIViewContentModeBottomLeft

    保持圖片原比例在視圖左下角顯示圖片內容

    UIViewContentModeBottomRight

    保持圖片原比例在視圖右下角顯示圖片內容


     


     

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.