UIImageView控件
//设置全屏
//imageView.frame = self.view.bounds;
//imageView.image = [UIImage imageNamed:@"1"];
// 2.1 先拿到图片对象
UIImage *image = [UIImage imageNamed:@"1"];
imageView.image = image;
imageView.backgroundColor = [UIColor blueColor];
imageView.frame = CGRectMake(50, 100, 300, 200);
[self.view addSubview:imageView];
imageView.clipsToBounds = YES;
//图片设置内容模式
imageView.contentMode = UIViewContentModeScaleAspectFill;
设置毛玻璃
UIToolbar *toolBar = [[UIToolbar alloc] init];
toolBar.frame = imageView.bounds;
toolBar.barStyle = UIBarStyleBlackOpaque;
toolBar.alpha = 0.77;
[imageView addSubview:toolBar];
图片的两种加载方式:
1>
imageNamed:
a. 就算指向它的指针被销毁,该资源也不会被从内存中干掉
b. 放到Assets.xcassets
的图片,默认就有缓存
c. 使用场景:图片经常被使用
d. 加载Assets.xcassets这里面的图片:打包后变成Assets.car,拿不到路径,只能通过imageNamed:
来加载图片,不能通过imageWithContentsOfFile:
来加载图片
self.imageView.image = [UIImage imageNamed:@"1"];
2>
imageWithContentsOfFile:
a. 指向它的指针被销毁,该资源会被从内存中干掉
b. 放到项目中的图片就没有缓存
c. 使用场景:不经常用,大批量的图片
NSString *path = [[NSBundle mainBundle pathForResource:@"1"ofType:@"png"];
self.imageView.image = [UIImage imageWithContentsOfFile:path];
UIImageView 动画
/**
* 放招
*
* @param images 图片数组
* @param count 播放次数
* @param duration 播放时间
* @param isStand 是否站立
*/
- (void)palyZhaoWithImages:(NSArray *)images count: (NSInteger)count duration:(NSTimeInterval)duration isStand:(BOOL)isStand musicName:(NSString *)musicName{
// 1.设置动画图片
self.imageView.animationImages = images;
// 2.设置动画次数
self.imageView.animationRepeatCount = count;
// 3.设置播放时长
self.imageView.animationDuration = duration;
// 4.播放
[self.imageView startAnimating];
// 5.站立
if (!isStand) {
// 6.播放
NSURL *url = [[NSBundle mainBundle] URLForResource:musicName withExtension:nil];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:url];
[self.player replaceCurrentItemWithPlayerItem:playerItem];
[self.player play];
// 7.调节速率
self.player.rate = 2.0;
// 延迟执行方法
[self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];
}
}
批量加载图片
/**
* 加载所有的图片
*
* @param imagePrefix 名称前缀
* @param count 图片的总个数
*/
- (NSArray *)loadAllImagesWithimagePrefix:(NSString *)imagePrefix count:(int)count{
NSMutableArray<UIImage *> *images = [NSMutableArray array];
for (int i=0; i<count; i++) {
// 获取所有图片的名称
NSString *imageName = [NSString stringWithFormat:@"%@_%d",imagePrefix, i+1];
// 创建UIImage
// UIImage *image = [UIImage imageNamed:imageName];
NSString *imagePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
// 装入数组
[images addObject:image];
}
return images;
}
网友评论