常用UI控件之UIImageView
2014-04-27 20:21
239 查看
1.UIImageView概述及初始化方法
UIImageView继承于UIView,主要用于在界面上现实图片,图片可以自动适应UIImageView的宽度和高度,而不用修改 分辨率(UIButton也可以自适应大小)
1.1初始化方法:
(1)- (id)initWithImage:(UIImage *)image;
- (id)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage (2)也可使用父类初始化方法 -(id)initWithFrame:(CGRect)frame; 示例:
//创建一个图像对象 NSString *imgFilePath = [[NSBundle mainBundle] pathForResource:@"pictrue" ofType:@"jpg"]; UIImage *img = [UIImageimageWithContentsOfFile:imgFilePath]; //或者以下对象方法 // UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgFilePath]; UIImageView *imageView = [[UIImageViewalloc] initWithImage:img];
1.2 UIImageView常用属性 image //设置图片
userInteractionEnabled //用户交互,默认为NO,如果要触发点击事件,需要改为YES(例如添加手势)
animationImages //设置一组动态图片
animationDuration //设置播放一次一组动态图片的时间
animationRepeatCount //设置重复次数startAnimating //开始动画
startAnimating //开始动画
stopAnimating //结束动画
2.手势与UIImageView综合示例:
其他手势方法的重写:
3.UIImageView动画与UISlider综合练习(详情见附件)
代码示例:
UIImageView继承于UIView,主要用于在界面上现实图片,图片可以自动适应UIImageView的宽度和高度,而不用修改 分辨率(UIButton也可以自适应大小)
1.1初始化方法:
(1)- (id)initWithImage:(UIImage *)image;
- (id)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage (2)也可使用父类初始化方法 -(id)initWithFrame:(CGRect)frame; 示例:
//创建一个图像对象 NSString *imgFilePath = [[NSBundle mainBundle] pathForResource:@"pictrue" ofType:@"jpg"]; UIImage *img = [UIImageimageWithContentsOfFile:imgFilePath]; //或者以下对象方法 // UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgFilePath]; UIImageView *imageView = [[UIImageViewalloc] initWithImage:img];
1.2 UIImageView常用属性 image //设置图片
userInteractionEnabled //用户交互,默认为NO,如果要触发点击事件,需要改为YES(例如添加手势)
animationImages //设置一组动态图片
animationDuration //设置播放一次一组动态图片的时间
animationRepeatCount //设置重复次数startAnimating //开始动画
startAnimating //开始动画
stopAnimating //结束动画
2.手势与UIImageView综合示例:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"狗狗.jpg"]]; imageView.frame = CGRectMake(50, 50, 100, 100); imageView.center = CGPointMake(160, 240); [self.view addSubview:imageView]; //打开imageView视图交互,很重要,否则点击图片没反应 imageView.userInteractionEnabled = YES; self.view = imageView; UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(doPinch:)]; [imageView addGestureRecognizer:pinchGestureRecognizer]; - (void)doPinch:(UIPinchGestureRecognizer *)pinchGesture { NSLog(@"捏合了"); pinchGesture.view.transform = CGAffineTransformScale(pinchGesture.view.transform, pinchGesture.scale, pinchGesture.scale); pinchGesture.scale = 1; }
其他手势方法的重写:
- (void)dotap:(UITapGestureRecognizer *)tapGesture { // tapGesture.view.backgroundColor = [UIColor redColor]; UIImageView *imageView = (UIImageView *)tapGesture.view; // imageView.image = [UIImage imageNamed:@"猫猫.jpg"]; imageView.backgroundColor = [UIColor yellowColor]; } - (void)doRotation:(UIRotationGestureRecognizer *) rotationGesture { NSLog(@"旋转"); rotationGesture.view.transform = CGAffineTransformRotate(rotationGesture.view.transform, rotationGesture.rotation); rotationGesture.rotation = 1; } - (void)doPan:(UIPanGestureRecognizer *)panGesture { CGPoint point = [panGesture translationInView:panGesture.view]; NSLog(@"%f ,%f",point.x,point.y); // 此方法不完美 // panGesture.view.transform = CGAffineTransformMakeTranslation(point.x, point.y); panGesture.view.transform = CGAffineTransformTranslate(panGesture.view.transform, point.x, point.y); [panGesture setTranslation:CGPointZero inView:panGesture.view]; }
3.UIImageView动画与UISlider综合练习(详情见附件)
代码示例:
//初始化Uislider,并设置其参数 UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(30, 300, 250, 30)]; slider.value = 10; slider.maximumValue = 0.5; slider.minimumValue = 0.1; [slider addTarget:self action:@selector(doSlider:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview: slider]; //初始化UIImageView _imgView = [[UIImageView alloc] initWithFrame:CGRectMake(30, 30, 80, 80)]; NSMutableArray * arr = [NSMutableArray arrayWithCapacity:9]; for (int i = 2; i<11; i++) { NSString *imgName = [NSString stringWithFormat:@"1-%d(被拖移).tiff",i]; UIImage *image = [UIImage imageNamed:imgName]; [arr addObject:image]; } //添加UIImageView动态图片 _imgView.animationImages = arr; //UIImageView重复次数 _imgView.animationRepeatCount = 5; //UIImageView播放一次一组动态图片的时间 _imgView.animationDuration = slider.value; [_imgView startAnimating]; [self.view addSubview:_imgView]; //slider方法的实现部分 - (void)doSlider:(UISlider *)slider { //先停止动画播放 [_imgView stopAnimating]; //词句很关键,设置播放时间等于slider.value _imgView.animationDuration = slider.value; [_imgView startAnimating]; }
相关文章推荐
- UI连载五--常用UI控件—Label、Button、UITextField、UIImageView、UISlider、UISwitch、UIActivityIndicatorView等
- xib系列---基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )
- IOS UI学习教程之使用UIImageView控件制作动画
- iOS开发之六:常用控件--UIImageView的使用
- UI中常用的控件ImageView\Button
- iOS基本常用控件总结(UIView,UILabel,UIButton,UIImageView)
- IOS开发-UI学习-使用UIImageView控件制作动画
- ipa 开发常用控件 : UISplitViewController , UIPopoverController
- Android-常用UI控件(Spinner/AutoCompleteTextView)
- UI基础-基础控件-0324-浏览图片案例与改进版(UILabel、UIButton、UIImageView的应用)
- UI控件--UIImageView
- 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )
- ui控件之UIImageView(imageView的动画效果)
- UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
- UI控件 - UIImageView
- iOS个人整理06-第一周小结,常用控件UIView,UILabel,UIImageView,UIButton,UITextField
- UI-不常用控件 UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController
- IOS开发-UI学习-UIImageView控件
- iOS-UI控件之UIImageView
- UI-UIImageView的图片填充方式(contentMode)_图片作为控件背景图的拉伸方式(stretch)介绍