(素材源码)猫猫学IOS(三十六)UI之手势事件旋转_缩放_拖拽
2015-05-07 14:01
453 查看
猫猫分享,必须精品
原创文章,欢迎转载。转载请注明:翟乃玉的博客
地址:http://blog.csdn.net/u013357243?viewmode=contents
源码:http://download.csdn.net/detail/u013357243/8671943
原创文章,欢迎转载。转载请注明:翟乃玉的博客
地址:http://blog.csdn.net/u013357243?viewmode=contents
源码:http://download.csdn.net/detail/u013357243/8671943
效果
完成一个图片的捏合缩放,拖拽,旋转动作。代码:NYViewController.m
// // NYViewController.m // 旋转_缩放_拖拽 // // Created by apple on 15-5-7. // Copyright (c) 2015年 znycat. All rights reserved. // #import "NYViewController.h" #import "NYViewController.h" @interface NYViewController ()<UIGestureRecognizerDelegate> @property (weak, nonatomic) IBOutlet UIImageView *iconView; @end @implementation NYViewController - (void)viewDidLoad { [super viewDidLoad]; //捏合 [self pichTest]; //旋转 [self rotationTest]; //拖拽 [self panTest]; } //拖拽 -(void)panTest { UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] init]; [self.iconView addGestureRecognizer:pan]; [pan addTarget:self action:@selector(panView:)]; } - (void)panView:(UIPanGestureRecognizer *)pan { // 返回的值是以手指按下的点为原点 // 1 2 3 4 5 CGPoint point = [pan translationInView:pan.view]; NSLog(@"拖拽事件 %@", NSStringFromCGPoint(point)); CGPoint temp = self.iconView.center; temp.x += point.x; temp.y += point.y; self.iconView.center = temp; // 理解不了就记住就OK [pan setTranslation:CGPointZero inView:pan.view]; } // 该方法返回的BOOL值决定了view是否能够同时响应多个手势 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { NSLog(@"%@ - %@", gestureRecognizer.class, otherGestureRecognizer.class); return YES; } - (void)pichTest { // 捏合手势 UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] init]; pinch.delegate = self; [self.iconView addGestureRecognizer:pinch]; [pinch addTarget:self action:@selector(pinchView:)]; } - (void)pinchView:(UIPinchGestureRecognizer *)pinch { // NSLog(@"捏合事件 %.1f", pinch.scale); // self.iconView.transform = CGAffineTransformMakeScale(pinch.scale, pinch.scale); // 1.0 * 0.9 self.iconView.transform = CGAffineTransformScale(self.iconView.transform, pinch.scale, pinch.scale); pinch.scale = 1.0; } - (void)rotationTest { // 旋转 UIRotationGestureRecognizer *gesture = [[UIRotationGestureRecognizer alloc] init]; gesture.delegate = self; [self.iconView addGestureRecognizer:gesture]; [gesture addTarget:self action:@selector(rotationView:)]; } - (void)rotationView:(UIRotationGestureRecognizer *)gesture { // NSLog(@"旋转事件 %.1f", gesture.rotation); // 每次从最初的位置开始 // self.iconView.transform = CGAffineTransformMakeRotation(gesture.rotation); // 在传入的transform基础上递增一个弧度 self.iconView.transform = CGAffineTransformRotate(self.iconView.transform, gesture.rotation); // 将旋转的弧度清零(注意不是将图片旋转的弧度清零, 而是将当前手指旋转的弧度清零) gesture.rotation = 0;// 如果理解不了 , 记住就OK } @end
相关文章推荐
- (素材源码)猫猫学IOS(三十六)UI之手势事件旋转_缩放_拖拽
- 猫猫学IOS(三十六)UI之手势事件旋转_缩放_拖拽
- 猫猫学IOS(三十六)UI之手势事件旋转_缩放_拖拽
- AJ学IOS(36)UI之手势事件旋转_缩放_拖拽
- (素材源码)猫猫学IOS(七)UI之UITextField代理事件_类似QQ登陆窗口的简单实现
- (素材源码)猫猫学IOS(七)UI之UITextField代理事件_类似QQ登陆窗口的简单实现
- (素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。
- (素材源码)猫猫学IOS(九)UI之UIScrollView代理触摸实现_图片缩放
- (素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。
- (素材源码)猫猫学IOS(九)UI之UIScrollView代理触摸实现_图片缩放
- (素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。
- IOS 手势学习(点击,长按,轻扫,拖拽,旋转,捏合缩放)
- (素材源码)猫猫学IOS(二十四)UI之注册案例
- (素材源码)猫猫学IOS(六)UI之iOS热门游戏_超级猜图
- 【iOS发展-89】UIGestureRecognizer完整的旋转手势识别、缩放和拖拽等效果
- (素材源码)猫猫学IOS(二十一)UIApplication设置程序图标右上⾓红⾊数字_联⺴指⽰器等
- (素材源码)猫猫学IOS(十三)UI之UITableView学习(下)汽车名牌带右侧索引
- (素材源码)猫猫学IOS(二十四)UI之注册案例
- (素材_源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI
- (素材源码)猫猫学IOS(六)UI之iOS热门游戏_超级猜图