UIImageView 一些屬性設置

1.contentMode屬性spa

這個屬性是用來設置圖片的顯示方式,如居中、居右,是否縮放等,有如下幾個常量可供設定:orm

UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit
UIViewContentModeScaleAspectFill
UIViewContentModeRedraw
UIViewContentModeCenter
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
UIViewContentModeTopLeft
UIViewContentModeTopRight
UIViewContentModeBottomLeft
UIViewContentModeBottomRight
注意以上幾個常量,凡是沒有帶Scale的,當圖片尺寸超過 ImageView尺寸時,只有部分顯示在ImageView中。UIViewContentModeScaleToFill屬性會致使圖片變形。UIViewContentModeScaleAspectFit會保證圖片比例不變,並且所有顯示在ImageView中,這意味着ImageView會有部分空白。UIViewContentModeScaleAspectFill也會證圖片比例不變,可是是填充整個ImageView的,可能只有部分圖片顯示出來。

2.更改位置事件

更改一個UIImageView的位置,能夠圖片

2.1 直接修改其frame屬性get

2.2 修改其center屬性:it

imageView.center = CGPointMake(CGFloat x, CGFloat y);

 center屬性指的就是這個ImageView的中間點。io

2.3 使用transform屬性form

imageView.transform = CGAffineTransformMakeTranslation(CGFloat dx, CGFloat dy);

 其中dx與dy表示想要往x或者y方向移動多少,而不是移動到多少。class

三、旋轉圖像transform

imageView.transform = CGAffineTransformMakeRotation(CGFloat angle);

  要注意它是按照順時針方向旋轉的,並且旋轉中心是原始ImageView的中心,也就是center屬性表示的位置。

  這個方法的參數angle的單位是弧度,而不是咱們最經常使用的度數,因此能夠寫一個宏定義:

 #define degreesToRadians(x) (M_PI*(x)/180.0)

四、縮放圖像

 仍是使用transform屬性:

imageView.transform = CGAffineTransformMakeScale(CGFloat scale_w, CGFloat scale_h);

五、爲圖片添加單擊事件:

imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)];
[imageView addGestureRecognizer:singleTap];
必定要先將userInteractionEnabled置爲YES,這樣才能響應單擊事件

6.其餘設置
imageView.hidden = YES或者NO;    // 隱藏或者顯示圖片
imageView.alpha = (CGFloat) al;    // 設置透明度
imageView.highlightedImage = (UIImage *)hightlightedImage; 	// 設置高亮時顯示的圖片
imageView.image = (UIImage *)image;	// 設置正常顯示的圖片
[imageView sizeToFit];    // 將圖片尺寸調整爲與內容圖片相同
相關文章
相關標籤/搜索