UIImageView 的contentMode這個屬性是用來設置圖片的顯示方式,如居中、居右,是否縮放等,有如下幾個常量可供設定:spa
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit
UIViewContentModeScaleAspectFill
UIViewContentModeRedraw
UIViewContentModeCenter
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
UIViewContentModeTopLeft
UIViewContentModeTopRight
UIViewContentModeBottomLeft
UIViewContentModeBottomRightcode
注意以上幾個常量,凡是沒有帶Scale的,當圖片尺寸超過 ImageView尺寸時,只有部分顯示在ImageView中。UIViewContentModeScaleToFill屬性會致使圖片變形。UIViewContentModeScaleAspectFit會保證圖片比例不變,並且所有顯示在ImageView中,這意味着ImageView會有部分空白。UIViewContentModeScaleAspectFill也會證圖片比例不變,可是是填充整個ImageView的,可能只有部分圖片顯示出來。blog
例如:圖片
1。顯示正常的圖片ip
_image = [[UIImageView alloc] init]; _image.image = [UIImage imageNamed:@"12.jpeg"]; _image.backgroundColor = [UIColor brownColor]; _image.clipsToBounds = YES; _image.frame = CGRectMake(100, 130, 100, 100); _image.contentMode = UIViewContentModeScaleToFill; [self.view addSubview:_image];