-
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。