//UIImageView是现实图片的控件,因为图片和文字没办法在屏幕上直接显示,所以图片的现实需要有一个载体
//(nsstring-》文字,UIImageView-》图片)
- (void)createImageView
{
//1.当图片的名称的后缀为.png时后缀可以省略,其他类型的后缀不能省略
//2.通过imageNamed的方法创建的图片对象的方法会保存在缓存中,图片名称相同创建的图片对象虽然不同但是图片对象中保存的图片数据是缓存中的数据(加载同一个图片一次)
//3.因为Image类方法加载的图片数据保存在缓存中,会占据内存,所以我们在创建图片对象时,如果图片对象很大,或者图片对象很多,我们不应该使用imageName方法来创建图片对象
UIImage *image1 = [UIImage imageNamed:@"account_help"];
//获取图片资源的路径从主资源包中
//参数1:资源名称
//参数2:资源类型
//返回值是一个imagePath
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"DOVE 1" ofType:@"png"];
//或者
//[[NSBundle mainBundle] pathForResource:@"DOVE 1.png" ofType:nil];
//图片很大,用下面的方法来创建image,参数传文件名(全路径)
//创建的图片对象只要不被使用,资源将被放掉
UIImage *image2 = [UIImage imageWithContentsOfFile:imagePath];
//2.创建载体imageview
UIImageView *imageView = [[UIImageView alloc]init];
imageView.frame = CGRectMake(30, 150, image2.size.width,image2.size.height );
//3.设置显示图片
imageView.image = image2;
imageView.tag = 100;
//**********************************设置动画******************************
//创建图片数组
NSMutableArray *mulArr = [[NSMutableArray alloc]init];
for (int i=1; i<19; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"DOVE %d",i]];
[mulArr addObject:image];
}
//设置imageview的动画数组
imageView.animationImages = mulArr;
//设置完成一次动画总时长
[imageView setAnimationDuration:0.5];
//设置动画的重复次数
//[imageView setAnimationRepeatCount:5];
//设置imageview的内容模式
[imageView contentMode];
//开始动画,显示的动画数组中的图片
[imageView startAnimating];
//结束动画,显示的image属性的图片
//[imageView stopAnimating];
//判断是否在动画中
[imageView isAnimating];
[self.view addSubview:imageView];
}
//*************************设置内容显示模式*************************
- (void)createImageView1
{
UIImageView *imageView1 = [[UIImageView alloc]init];
imageView1.frame = CGRectMake(50, 40, 200, 100);
imageView1.image = [UIImage imageNamed:@"account_help"];
imageView1.backgroundColor = [UIColor redColor];
//设置内容模式
// UIViewContentModeScaleToFill, ----保持整个imageview被充满
// UIViewContentModeScaleAspectFit, ----按照设置尺寸的最小边比例方法图片
// UIViewContentModeScaleAspectFill, ----忽略imageview背景直接显示在image上
// UIViewContentModeRedraw,
// UIViewContentModeCenter,
// UIViewContentModeTop,
// UIViewContentModeBottom, ----按照图片原始尺寸依附到底边
// UIViewContentModeLeft, ----按照图片原始尺寸依附到左边
// UIViewContentModeRight,
// UIViewContentModeTopLeft, ----按照图片原始尺寸依附到左上角
// UIViewContentModeTopRight,
// UIViewContentModeBottomLeft,
// UIViewContentModeBottomRight,
imageView1.contentMode = UIViewContentModeBottomRight;
//裁剪出超出边界部分
imageView1.clipsToBounds = YES;
[self.view addSubview:imageView1];
}