UIVIew进阶-常用控件(三):UIImageView
2014-07-22 16:01
288 查看
imageView提供了一个显示单个或者动态显示多个图片对象的容器。对于动画图像,UIImageView提供了周期和频率的控制。当imageView对象显示单个图像时,其实际行为是基于image属性和视图。如果图像的leftCapWitdth(水平end-cap大小)和topCapHeight(垂直end-cap大小)非0,则图像会根据这些属性进行延伸。否则,图像根据视图的contentMode属性进行大小、比例和位置的适应调整。推荐使用相同大小的图片,如果大小不同,每一个都会分别的适应contentMode模式。
尽可能的提供预定大小的图像。例如:如果需要一个大图像频繁的现实缩略图,应该考虑将缩略图存放的cache中。
限制图片大小。
如果不必要,取消透明度混合。
UIImageView已经优化了图片的显示。UIImageView没有调用子类的drawRect:方法。如果子类希望自定义绘制代码,应该子类化UIVIew
新的imageView对象默认配置为忽略用户事件。如果希望处理UIImageView子类的自定义事件,必须将userInteractionEnabled的变量设置为YES。
返回一个通过指定图片初始化的UIImageView对象
-(id)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage
返回一个通过正常图片以及强调图片初始化的UIImageView对象
在imageView正常状态时显示的图像
@property (nonatomic, retain) UIImage * highlightedImage
在imageView在强调状态时显示的图像
用于动画使用的图像数组
@property (nonatomic, copy) NSArray * highlightedAnimationImages
强调状态时用于动画使用的图像数组
@property (nonatomic) NSTimeInterval animationDuration
一个图像周期花费的时间,单位为秒。该属性的默认值为(图片数 * 1/30 s)。
@property (nonatomic) NSInteger animationRepeatCount
动画重复的次数
-(void)startAnimating
开始receiver中的图像动画
-(void)stopAnimating
停止receiver中的图像动画
-(BOOL)isAnimating
表示当前动画是否运行
表示是否忽略用户事件,将其从事件队列中移除。该属性从UIVIew中继承。
@property (nonatomic, getter=isHighlighted) BOOL highlighted
决定当前image是否为强调状态。
@property (nonatomic, retain) UIColor * tintColor
在视图层次结构中色彩模板图像使用的颜色。具体参考renderingMode
代码片段>>
显示效果>>
代码片段>>
基础
提升image view的性能
由于imagView在组成图像时,图像的比例和透明度都有非常大的开销。为了提高性能,应该进行如下操作:尽可能的提供预定大小的图像。例如:如果需要一个大图像频繁的现实缩略图,应该考虑将缩略图存放的cache中。
限制图片大小。
如果不必要,取消透明度混合。
NOTE
如果希望子类化UIImageView,应该意识到以下的行为:UIImageView已经优化了图片的显示。UIImageView没有调用子类的drawRect:方法。如果子类希望自定义绘制代码,应该子类化UIVIew
新的imageView对象默认配置为忽略用户事件。如果希望处理UIImageView子类的自定义事件,必须将userInteractionEnabled的变量设置为YES。
初始化对象
-(id)initWithImage:(UIImage *)image返回一个通过指定图片初始化的UIImageView对象
-(id)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage
返回一个通过正常图片以及强调图片初始化的UIImageView对象
图像数据
@property (nonatomic, retain)UIImage * image在imageView正常状态时显示的图像
@property (nonatomic, retain) UIImage * highlightedImage
在imageView在强调状态时显示的图像
动画图像
@property (nonatomic,copy) NSArray * animationImages用于动画使用的图像数组
@property (nonatomic, copy) NSArray * highlightedAnimationImages
强调状态时用于动画使用的图像数组
@property (nonatomic) NSTimeInterval animationDuration
一个图像周期花费的时间,单位为秒。该属性的默认值为(图片数 * 1/30 s)。
@property (nonatomic) NSInteger animationRepeatCount
动画重复的次数
-(void)startAnimating
开始receiver中的图像动画
-(void)stopAnimating
停止receiver中的图像动画
-(BOOL)isAnimating
表示当前动画是否运行
设置与获得属性
@property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled表示是否忽略用户事件,将其从事件队列中移除。该属性从UIVIew中继承。
@property (nonatomic, getter=isHighlighted) BOOL highlighted
决定当前image是否为强调状态。
@property (nonatomic, retain) UIColor * tintColor
在视图层次结构中色彩模板图像使用的颜色。具体参考renderingMode
实践
基础
定义一个图像视图,为视图定义两种状态,即:正常状态下的图片和强调状态下的图片代码片段>>
-(void) initStaticIamgeView:(int)x yCoordinate:(int)y{ staticImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1.png"] highlightedImage:[UIImage imageNamed:@"image2.png"]]; staticImageView.frame = CGRectMake(x, y, 320, 213); [self.view addSubview:staticImageView]; }
显示效果>>
进阶
定义一个图像视图,显示一组动画。代码片段>>
-(void) initAnimatedImageView:(int)x yCoordinate:(int)y{ animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x, y, 320, 213)]; animatedImageView.animationImages = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"image1.png"], [UIImage imageNamed:@"image2.png"], [UIImage imageNamed:@"image3.png"], [UIImage imageNamed:@"image4.png"], [UIImage imageNamed:@"image5.png"], [UIImage imageNamed:@"image6.png"], nil]; //若是不设置动画周期,由于默认为1/30 s显示一个图片,会显示的非常快。 animatedImageView.animationDuration = 6; //设置后,每s显示一个图片 //设置动画循环的周期数,当动画循环结束之后,图像将会消失 animatedImageView.animationRepeatCount = 1; [animatedImageView startAnimating]; [self.view addSubview:animatedImageView]; }
相关文章推荐
- UIView进阶-常用控件(一):UIControl
- UIView进阶-常用控件(二):UILabel
- IOS基本控件常用属性及方法(三)---UIImageView
- UIView控件的一些常用方法和简单动画设置
- UIView 控件的常用操作
- UI 一一 常用控件-UILabel,UIImageView
- iOS基础——UI控件之UIView、UITextField、UILabel、UIColor、UIButton、UIImageView
- IOS基本控件常用属性及方法(七)---UIView
- iOS UIView控件的常用属性和方法的总结
- 05-常用UI控件之 UIImageView
- IOS开发UI系列之常用控件 UILabel, UITextField, UIButton, UIImageView等常用属性与方法
- iOS开发:常用的UIView控件——UILabel、UITextField、UIButton
- iOS个人整理06-第一周小结,常用控件UIView,UILabel,UIImageView,UIButton,UITextField
- iOS开发:常用的UIView控件——UILabel、UITextField、UIButton【转】
- iOS基本常用控件总结(UIView,UILabel,UIButton,UIImageView)
- iOS UIView及其子控件的常用设置
- IOS--常用控件--UIView
- iOS开发UI篇-常用控件详解(UIView)
- UIView控件的常用属性
- 常用日期控件(修改版)