UIImageView
是一个控件,用于在界面上显示图片。UIImageView
继承于UIView
,包含继承于UIView
的属性,可查看iOS UIView控件。
1. UIImageView属性
// 设置图片
@property (nullable, nonatomic, strong) UIImage *image;
// 设置高亮状态下显示的图片。
@property (nullable, nonatomic, strong) UIImage *highlightedImage
// 高亮状态,默认是NO
@property (nonatomic, getter=isHighlighted) BOOL highlighted
// 图片显示方式
@property(nonatomic) UIViewContentMode contentMode;
image
,用来设置图片。 highlightedImage
是高亮状态下显示的图片,在highlighted
为YES
下起效。
UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, 100, 100)];
imageView.image = [UIImage imageNamed:@"icon_iv_sample"];
contentMode
设置图片显示方式
显示方式 | 说明 |
---|---|
UIViewContentModeScaleToFill | 将图片拉伸填充整个imageView |
UIViewContentModeScaleAspectFit | 保持图片原来的宽高比 |
UIViewContentModeScaleAspectFill | 拉伸至图片的宽度或者高度跟imageView一样 |
UIViewContentModeRedraw | 当View的bounds改变,系统会调用setNeedsDisplay,重新绘制视图 |
UIViewContentModeTopLeft | 不缩放,内容在视图顶部左边 |
UIViewContentModeTop | 不缩放,内容在视图顶部 |
UIViewContentModeTopRight | 不缩放,内容在视图顶部右边 |
UIViewContentModeLeft | 不缩放,内容在视图左边 |
UIViewContentModeCenter | 不缩放,内容在视图中间 |
UIViewContentModeRight | 不缩放,内容在视图右边 |
UIViewContentModeBottom | 不缩放,内容在视图底部 |
UIViewContentModeBottomLeft | 不缩放,内容在视图左边 |
UIViewContentModeBottomRight | 不缩放,内容在视图右边 |
显示如下
2. UIImageView实现多张图片播放
// 设置图片,UIImage数组
@property (nullable, nonatomic, copy) NSArray<UIImage *> *animationImages;
// 循环一次的时间
@property (nonatomic) NSTimeInterval animationDuration;
// 循环的次数。设置为0时无限循环
@property (nonatomic) NSInteger animationRepeatCount;
示例代码
self.imageView.animationImages = @[[UIImage imageNamed:@"gif_00"],
[UIImage imageNamed:@"gif_01"],
[UIImage imageNamed:@"gif_02"],
[UIImage imageNamed:@"gif_03"],
[UIImage imageNamed:@"gif_04"],
[UIImage imageNamed:@"gif_05"],
[UIImage imageNamed:@"gif_06"],
[UIImage imageNamed:@"gif_07"],
[UIImage imageNamed:@"gif_08"],
[UIImage imageNamed:@"gif_09"],
[UIImage imageNamed:@"gif_10"],
[UIImage imageNamed:@"gif_11"],
[UIImage imageNamed:@"gif_12"],
[UIImage imageNamed:@"gif_13"],
[UIImage imageNamed:@"gif_14"]];
self.imageView.animationDuration = 1;
self.imageView.animationRepeatCount = 1;
self.imageView.backgroundColor = [UIColor blackColor];
// 开始动画
[self.imageView startAnimating];
// 停止动画
// [self.imageView stopAnimating];
显示如下