ios UIImageView處理圖片大小問題


  • UIImageView視圖可以顯示圖片 
    實例化UIImageView有兩種方法 
    第一種方法: UIImageView *myImageView = [[ UIImageView alloc] initWithImage: [UIImage imageNamed: @”demo”]]; 
    用該方法可以顯示圖片原有大小。

    第二種方法: UIImageView *myImageView = [[UIImage alloc] initWithFrame: self.view.bounds] 
    該方法會按指定大小顯示圖片,而不管圖片的原有大小,因而會造成圖片變形。

在很多情況下,既需要按指定大小的范圍中放置圖片,又不要造成圖片變形。解決該問題可以設置UIImageView的contentMode屬性。contentMode為一個枚舉:

typedef NS_ENUM(NSInteger, UIViewContentMode){ UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit, UIViewContentModeScaleAspectFill, UIViewContentModeRedraw, UIViewContentModeCenter, UIViewContentModeTop, UIViewContentModeBottom, UIViewContentModeLeft, UIViewContentModeRight, UIViewContentModeTopLeft, UIViewContentModeTopRight, UIViewContentModeBottomLeft, UIViewContentModeBottomRight };

其中最常用的三種模式是: 

UIViewContentModeScaleFill: 會把圖片填充到圖片視圖中; 
UIViewContentModeScaleAspectFit: 會使得圖片以原有的高寬比以適應圖片視圖; 
UIViewContentModeScaleAspectFill: 首先要設置圖片視圖的clipsToBounds屬性為YES,使圖片以原有高寬比填充整個圖片視圖,超出的部分會被剪輯掉; 
因此一般設置圖片視圖模式為UIViewContentModeScaleAspectFit。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM