[ocUI日记]UIImage和UIImageview
UIImage
1 //用类方法创建uiimage(png格式可以省略后缀) 2 UIImage *image1 = [UIImage imageNamed:@"001"]; 3 //用路径来获得图片 4 NSString *path = @"";//这是路径地址 5 UIImage *image2 = [UIImage imageWithContentsOfFile:path]; 6 //根据网址来获得图片 7 NSString *url = @"";//这是网址 8 UIImage *image3 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]]; 9 //uiimage继承自uiview所以uiview的方法他都能用 所以这里就不在一一列举 10 float a = image1.size.width;//获得图片的宽度 11 float b = image1.size.height;//获得图片的高度 12 13 14 //nsdata和uiimage之间的转换 15 //nsdata 转换成 uiimage 16 NSData *imagedata = [NSData dataWithContentsOfFile:path]; 17 UIImage *image = [UIImage imageWithData:imagedata]; 18 //uiimage 转化成nsdata 19 NSData *imagedata1 = [NSData dataWithContentsOfFile:path];
但是写到这里,我们发现我们并不能讲图片显示到屏幕上,并不是因为我们没有写add方法,而是image并不能直接添加到self.view上,于是就有了下面要讲的内容
UIImageView
1 //在创建uiimageview的同时添加一个参数进去 2 UIImageView *view1 = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"001"]]; 3 //设置uiimageview的位置和大小 4 view1.frame = CGRectMake(20, 20, 100, 100); 5 //设置imageview的大小和image的大小相适应 6 [view1 sizeToFit]; 7 //添加到视图上 8 [self.view addSubview:view1]; 9 //imageview的contentMode属性:这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等 10 11 /* 12 UIViewContentModeScaleToFill 13 UIViewContentModeScaleAspectFit 14 UIViewContentModeScaleAspectFill 15 UIViewContentModeRedraw 16 UIViewContentModeCenter 17 UIViewContentModeTop 18 UIViewContentModeBottom 19 UIViewContentModeLeft 20 UIViewContentModeRight 21 UIViewContentModeTopLeft 22 UIViewContentModeTopRight 23 UIViewContentModeBottomLeft 24 UIViewContentModeBottomRight 25 */ 26 //凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。 UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView 会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部 分图片显示出来 27 view1.contentMode = UIViewContentModeScaleAspectFill;
接下来给大家带来一个图片轮播的demo
//创建一个uiimageview UIImageView *imagev1 = [[UIImageView alloc]initWithFrame:CGRectMake(140, 200, 100, 100)]; //创建image UIImage *image1 = [UIImage imageNamed:@"101"]; UIImage *image2 = [UIImage imageNamed:@"201"]; UIImage *image3 = [UIImage imageNamed:@"301"]; UIImage *image4 = [UIImage imageNamed:@"401"]; UIImage *image5 = [UIImage imageNamed:@"501"]; UIImage *image6 = [UIImage imageNamed:@"601"]; UIImage *image7 = [UIImage imageNamed:@"701"]; //将图片放入数组 NSArray *imagearr = @[image1,image2,image3,image4,image5,image6,image7]; //设置轮播数组 imagev1.animationImages = imagearr; //设置播放完全部的时间 imagev1.animationDuration = 7; //设置播放次数 0为无限循环 imagev1.animationRepeatCount = 0; //开始轮播 [imagev1 startAnimating]; [self.view addSubview:imagev1];
由于不会怎么插入本地视频,所以就不放展示视频了,大家见谅