成都网站建设设计

将想法与焦点和您一起共享

[IOS]图片的旋转和缩放

实现图片的旋转和缩放也是IOS开发中一个比较常见的技术点,下面我们来一起学习,这功能如何实现?

效果图:

[IOS]图片的旋转和缩放
运行的时候按住alt键能够实现图片的伸缩

ViewController.h:

#import   @interface ViewController : UIViewController  {     float scale;     float prviousScale;  //放大倍数     float rotation;     float previousRotation; //旋转角度 } @property (retain, nonatomic) IBOutlet UIImageView *otherImage;  @end 

ViewController.m:

#import "ViewController.h" #import "MyGestureRecongnizer.h"  //自定义手势 @interface ViewController ()  @end  @implementation ViewController  - (void)viewDidLoad {     [super viewDidLoad];     prviousScale=1; 	     //缩放手势     UIPinchGestureRecognizer *pin=[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(doPinch:)];     pin.delegate=self;     [self.otherImage addGestureRecognizer:pin];          //旋转事件     UIRotationGestureRecognizer *rotaion=[[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(doRotate:)];     rotaion.delegate =self;     [self.otherImage addGestureRecognizer:rotaion];               //添加自定义手势(点击到X大于200的地方相应)     MyGestureRecongnizer *my = [[MyGestureRecongnizer alloc] initWithTarget:self action:@selector(fun:)];     [self.view addGestureRecognizer:my];           } //自定义手势触发事件 -(void)fun:(MyGestureRecongnizer *)my {     NSLog(@"OK"); }  //允许同时调用两个手势,如果是no的话就只能调用一个手势 -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {     return YES; }  -(void)transfromImageView {     CGAffineTransform t=CGAffineTransformMakeScale(scale*prviousScale, scale*prviousScale);     t=CGAffineTransformRotate(t, rotation+previousRotation);     self.otherImage.transform=t; }  //缩放方法 -(void)doPinch:(UIPinchGestureRecognizer *)gesture {     scale=gesture.scale; //缩放倍数     [self transfromImageView];     if (gesture.state==UIGestureRecognizerStateEnded) {         prviousScale=scale*prviousScale;         scale=1;     } }  //旋转方法 -(void)doRotate:(UIRotationGestureRecognizer *)gesture {     rotation=gesture.rotation; //旋转角度     [self transfromImageView];     if (gesture.state==UIGestureRecognizerStateEnded) {         previousRotation=rotation+previousRotation;         rotation=0;     } }   - (void)dealloc {     [_otherImage release];     [super dealloc]; } @end 




当前文章:[IOS]图片的旋转和缩放
网页链接:http://chengdu.cdxwcx.cn/article/pocjdo.html