OC之UIImageView

SONG / 文 发表于2018-01-25 16:23 次阅读 uiimageview

一、初始化控件:

    UIImageView *imageView = [[UIImageView alloc]init];
    imageView.frame = CGRectMake(100,100, 300, 500);
    imageView.bounds = CGRectMake(100,100, 300, 500);
    imageView.backgroundColor = [UIColor whiteColor];
    imageView.hidden=NO; //设置隐藏
    imageView.alpha = 1.0; // 设置透明度
    [imageView sizeToFit]; //将图片尺寸调整为与内容图片相同

二、加载图片: 1.加载Assets.xcassets这里面的图片:

打包后变成Assets.car。 拿不到路径。 只能通过imageNamed:来加载图片。 不能通过imageWithContentsOfFile:来加载图片。

[imageView setImage:[UIImage imageNamed:@"pic.png"]];

2.放到项目中的图片:

可以拿到路径。 能通过imageNamed:来加载图片。 也能通过imageWithContentsOfFile:来加载图片。

NSString *filePath=[[NSBundle mainBundle] pathForResource:@"guide" ofType:@"jpg"];
UIImage *images=[UIImage imageWithContentsOfFile:filePath];
[imageView setImage:images];

三、设置图片位置:

//图片过大,图片会变形

UIViewContentModeScaleToFill

//会保证图片比例不变,而且全部显示在ImageView中

UIViewContentModeScaleAspectFit

//图片比例不变,填充整个ImageView的,可能只有部分图片显示出来。

UIViewContentModeScaleAspectFill

// UIViewContentModeRedraw

// UIViewContentModeCenter

// UIViewContentModeTop

// UIViewContentModeBottom

// UIViewContentModeLeft

// UIViewContentModeRight

// UIViewContentModeTopLeft

// UIViewContentModeTopRight

// UIViewContentModeBottomLeft

// UIViewContentModeBottomRight

 imageView.contentMode = UIViewContentModeTop;

//修改图片中心位置

 imageView.center = CGPointMake(20, 20);

四、图片的动画:

//分别表示将原来的宽度和高度缩放到多少倍,下图是缩放到原来的0.5倍
 imageView.transform = CGAffineTransformMakeScale(5, 5);
 // 旋转图像一定角度 注意:单位是弧度,而不是我们最常用的度数
 imageView.transform = CGAffineTransformMakeRotation(M_PI);
 // 把一个图片移动一段距离 其中20表示想要往x或者y方向移动多少,而不是移动到多少。
 imageView.transform=CGAffineTransformMakeTranslation(2,2);

五、控件交互: 1.先将userInteractionEnabled置为YES,这样才能响应单击事件

imageView.userInteractionEnabled = YES;

2.设置手势:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)];
    [imageView addGestureRecognizer:singleTap];

六、设置图片连续播放:

  imageView.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"max.png"], [UIImage imageNamed:@"min.png"], nil];
    imageView.animationDuration = 0.3f; // 设置循环一次的时间
    imageView.animationRepeatCount = 0; // 循环的次数。设置为0时无线循环
    [imageView startAnimating]; // 开始动画
    // [oneImageView stopAnimating]; // 停止动画

七、获取网络图片:

UIImage *urlImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"www.baidu.com"]]];

八、添加到视图上,并释放资源

 [self.view addSubview:imageView];
  [imageView release], imageView = nil;
收藏 赞 (0) 踩 (0)