UIImageView对象提供了一个基于图像视图的容器,用于显示一个单一的图像或动画。动画图像,UIImageView类提供控件设置动画的持续时间和频率。你也拥有启动和停止动画的自由。
对于动画图像,UIImageView提供了周期和频率的控制。当imageView对象显示单个图像时,其实际行为是基于image属性和视图。如果图像的leftCapWitdth(水平end-cap大小)和topCapHeight(垂直end-cap大小)非0,则图像会根据这些属性进行延伸。否则,图像根据视图的contentMode属性进行大小、比例和位置的适应调整。推荐使用相同大小的图片,如果大小不同,每一个都会分别的适应contentMode模式。
提升image view的性能
由于imagView在组成图像时,图像的比例和透明度都有非常大的开销。为了提高性能,应该进行如下操作:
如果希望子类化UIImageView,应该意识到以下的行为:
- UIImageView已经优化了图片的显示。UIImageView没有调用子类的drawRect:方法。如果子类希望自定义绘制代码,应该子类化UIVIew
- 新的imageView对象默认配置为忽略用户事件。如果希望处理UIImageView子类的自定义事件,必须将userInteractionEnabled的变量设置为YES。
初始化对象:
1.根据指定图像初始化:
- (instancetype)initWithImage:(UIImage *)image
2.一个通过正常图片以及突出显示图片初始化的UIImageView对象:
- (instancetype)initWithImage:(UIImage *)image
highlightedImage:(UIImage *)highlightedImage
图像数据:
3.在UIImageView中显示的图像:
@property(nonatomic, retain) UIImage *image
4.在UIImageView中突出显示时的图像:
@property(nonatomic, retain) UIImage *highlightedImage
图像动画:
5.用于动画的图像数组:
@property(nonatomic, copy) NSArray *animationImages
6.用于突出显示动画的图像数组:
@property(nonatomic, copy) NSArray *highlightedAnimationImages
7.一个图像周期花费的时间,单位为秒。该属性的默认值为(图片数 * 1/30 s):
@property(nonatomic) NSTimeInterval animationDuration
8.动画的重复次数:
@property(nonatomic) NSInteger animationRepeatCount
9.开始UIImageView动画:
- (void)startAnimating
10.停止UIImageView动画:
- (void)stopAnimating
11.当前动画是否运行:
- (BOOL)isAnimating
获取和设置属性:
12.表示是否忽略用户事件,将其从事件队列中移除:
@property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled
13.决定当前image是否为突出显示状态:
@property(nonatomic, getter=isHighlighted) BOOL highlighted
14.在视图层次结构中色彩模板图像使用的颜色:
@property(nonatomic, retain) UIColor *tintColor