1 // 新建UIImageView 5种方法
2 // 设置位置及大小、添加图片、添加到视图
3 UIImageView* image1 = [[UIImageView alloc]init];
4 image1.frame = CGRectMake(10, 40, 300, 300);
5 image1.image = [UIImage imageNamed:@"410825"];
6 [self.view addSubview:image1];
7
8 UIImageView* image2 = [[UIImageView alloc]initWithFrame:CGRectMake(10, 40, 300, 300)];
9 [image2 setImage:[UIImage imageNamed:@"410825"]];
10 [self.view addSubview:image2];
11
12 UIImageView* image3 = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"410825"]];
13 image3.frame = CGRectMake(10, 40, 300, 300);
14 [self.view addSubview:image3];
15
16 // 这种新建,当ImageView的highlighted的属性是YES时,显示的就是参数highlightedImage,一般情况下显示的就是第一个参数UIImage
17 UIImageView* image4 = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"410825"] highlightedImage:[UIImage imageNamed:@"410825"]];
18 image4.frame = CGRectMake(10, 40, 300, 300);
19 [self.view addSubview:image4];
20
21 // UIImageView* image5 = [[UIImageView alloc]initWithCoder:<#(NSCoder *)#> ];
22
23
24 // frame与bounds属性
25 image4.frame = CGRectMake(10, 40, 300, 300);
26 // 注意bounds属性的坐标是相对与父视图的左上角来讲的
27 image4.bounds = CGRectMake(10, 10, 300, 300);
28
29 // 更改UIImageView的位置除了修改frame属性还可以修改center属性
30 image4.center = CGPointMake(16, 240);
31
32 // transform 形变属性 向x轴y同时轴移动10
33 image4.transform = CGAffineTransformMakeTranslation(10, 10);
34
35 // 旋转 (以ImageView的中心点也就是center属性表示的位置顺时针旋转90度)
36 image4.transform = CGAffineTransformRotate(image4.transform, M_PI_2);
37
38 // 缩放图片 (缩放到原来的0.6倍)
39 image4.transform = CGAffineTransformScale(image4.transform, 0.6, 0.6);
40
41 // 设置图片的显示方式,如居中、居左,是否缩放等,有一下几个常量可供设定:
42 image4.contentMode = UIViewContentModeBottom;
43 typedef enum{
44 UIViewContentModeBottom, // 底部
45 UIViewContentModeBottomLeft, // 左下
46 UIViewContentModeBottomRight, // 右下
47 UIViewContentModeCenter, // 中心
48 UIViewContentModeLeft, // 左边
49 UIViewContentModeRedraw, //
50 UIViewContentModeRight, // 右边
51 UIViewContentModeScaleAspectFill, // 等比
52 UIViewContentModeScaleAspectFit, // 不失真(适合)
53 UIViewContentModeScaleToFill, // 等比
54 UIViewContentModeTop, // 上面
55 UIViewContentModeTopLeft, // 左上
56 UIViewContentModeTopRight, // 右上
57 }UIViewContentMode;
58 /*
59 注意以上几个常量,凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。
60 */
61
62 // 显示或隐藏图片
63 image4.hidden = NO;
64
65 // 设置透明度
66 image4.alpha = 0.5;
67
68 // 设置高亮时显示的图片
69 image4.highlightedImage = [UIImage imageNamed:@"410825"];
70
71 // 正常显示图片、
72 image4.image = [UIImage imageNamed:@"410825"];
73
74 // 设置高亮
75 image4.highlighted = YES;
76
77 // 将图片尺寸调整为与内容如片相同
78 // [image4 seizToFit];
79
80
81 // 播放一系列图片
82 NSArray* imagesArray = [NSArray arrayWithObjects:@"图片数组",nil];
83 image4.animationImages = imagesArray;
84 // 设定所有的图片在多少秒内播放完毕
85 image4.animationDuration = [imagesArray count];
86 // 重复播放次数,0表示无数遍
87 image4.animationRepeatCount = 0;
88 // 开始播放
89 [image4 startAnimating];
90
91
92 // 图片不多时,为了效率用这种方法加载图片(图片会放到缓存中,图片多时会造成内存问题)
93 image1.image = [UIImage imageNamed:@"410825"];
94
95 // 图片多时,用这种方法加载图片(加载本地图片,防止内存问题)
96 image1.image = [UIImage imageWithContentsOfFile:@"本地图片路径"];
97
98 // 加载网络图片时,用这种方法
99 image1.image = [UIImage imageWithData:nil]; // date转image // 网络图片路径
100 // NSDate* date = [UIImagePNGRepresentation(image对象)]; // image转date
101
102
103 // 为图片添加点击事件
104 // 是否可以和用户交互(一定要先将userInteractionEnable设置为YES,这样才能响应点击事件)
105 image4.userInteractionEnabled = YES; // 默认是NO(特别)
106 UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapImageView:)];
107 [image4 addGestureRecognizer:singleTap];
108
109
110 NSArray* _imageName =[NSArray arrayWithObjects:@"少司命",@"少司命2",@"背景",@"背景2",@"背景3",@"素材01",@"素材02",@"素材03",@"素材04",@"素材05", nil];
111 // 获取数组里指定名称对象的下标
112 int index = [_imageName indexOfObject:@"素材01"];
113 NSLog(@"index = %d",index);
114
115 // 获取本地图片
116 NSArray* arrayjpg =[[NSBundle mainBundle]pathForResource:nil ofType:@"jpg"];
117
118 NSArray* arraypng = [[NSBundle mainBundle]pathForResource:nil ofType:@"png" inDirectory:nil];
119
120 // nil代表全路径
121 NSArray* array = [[NSBundle mainBundle]pathsForResourcesOfType:@"jpg" inDirectory:nil];
122
123 // 合并
124 NSArray* a = [arrayjpg arrayByAddingObjectsFromArray:arraypng];
125
126 // 如果上面合并有一项为空的情况下 用 / 分割
127 NSMutableArray* name = [NSMutableArray array];
128 for (NSString* path in arraypng) {
129 NSArray * cap = [path componentsSeparatedByString:@"/"];
130 [name addObjectsFromArray:cap];
131 }
132
133 }
134 -(void)tapImageView:(UIImageView*)sender{
135 NSLog(@"UIImageView");
136 }