UIImageView 的contentMode

UIImageView 的contentMode这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等,有以下几个常量可供设定:
UIViewContentModeScaleToFill
UIViewContentModeScaleAspectFit
UIViewContentModeScaleAspectFill
UIViewContentModeRedraw
UIViewContentModeCenter
UIViewContentModeTop
UIViewContentModeBottom
UIViewContentModeLeft
UIViewContentModeRight
UIViewContentModeTopLeft
UIViewContentModeTopRight
UIViewContentModeBottomLeft
UIViewContentModeBottomRight

注意以上几个常量,凡是没有带 Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。 UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView 会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部 分图片显示出来。

    CGRect imageRect = CGRectMake(100, 100, _window.frame.size.width/2, _window.frame.size.height/2);
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:imageRect];
    imageView.image=[UIImage imageNamed:@"bg2.jpg"];
    imageView.contentMode=UIViewContentModeScaleAspectFit;
    imageView.backgroundColor=[UIColor yellowColor];
    imageView.clipsToBounds=YES;
    imageView.alpha=0.8;
    [_window addSubview:imageView];
    

猜你喜欢

转载自stephen830.iteye.com/blog/2240470