UIGesture 缩放与旋转手势

 1 //
 2 //  ViewController.m
 3 //  UIWindowsApp
 4 //
 7 //
 8
 9 #import "ViewController.h"
10 #import "ViewController2.h"
11
12 @interface ViewController ()
13
14 @end
15
16 @implementation ViewController
17
18
19
20
21 - (void)viewDidLoad {
22     [super viewDidLoad];
23
24     UIImage* image = [UIImage imageNamed:@"1.jpg"];
25
26     UIImageView* _imageView= [[UIImageView alloc]init];
27
28     _imageView.image = image;
29
30     _imageView.frame = CGRectMake(50, 100, 220, 300);
31
32     //_imageView.tag = 101;
33
34     //是否开启交互事件响应开关,默认值为NO
35     _imageView.userInteractionEnabled = YES;
36
37     [self.view addSubview:_imageView];
38
39     _pinchGes = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAct:)];
40
41 //    NSLog(@"fff.");
42     [_imageView addGestureRecognizer:_pinchGes];
43
44     _rotGes = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotAct:)];
45
46     [_imageView addGestureRecognizer:_rotGes];
47
48     _pinchGes.delegate = self;
49     _rotGes.delegate = self;
50
51
52 }
53
54 //是否可以同时响应两个手势,yes 可以,no 不可以
55 -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
56 {
57     return YES;
58 }
59
60 -(void) rotAct:(UIRotationGestureRecognizer*) rot
61 {
62     NSLog(@"ddddd");
63     UIImageView * _imageView = (UIImageView*) rot.view;
64
65     _imageView.transform = CGAffineTransformRotate(_imageView.transform, rot.rotation);
66
67     rot.rotation = 0;
68 }
69
70
71
72
73
74 -(void) pinchAct:(UIPinchGestureRecognizer*) pinch
75 {
76
77     //获得监控图像的视图
78     UIImageView * _imageView = (UIImageView*) pinch.view;
79
80     //p1:原来的矩阵
81     //p2:x方向的缩放
82     //p3:y方向的缩放
83     //返回值是新的缩放后的矩阵变换
84     _imageView.transform = CGAffineTransformScale(_imageView.transform, pinch.scale, pinch.scale);
85
86     //scale>1 放大
87     //scale<1 缩小
88     pinch.scale = 1;
89 }
90 - (void)didReceiveMemoryWarning {
91     [super didReceiveMemoryWarning];
92     // Dispose of any resources that can be recreated.
93 }
94
95
96 @end
 1 //
 2 //  ViewController.h
 3 //  UIWindowsApp
 4
 5
 6 #import <UIKit/UIKit.h>
 7
 8 @interface ViewController : UIViewController<UIGestureRecognizerDelegate>
 9 {
10
11     //定义缩放,旋转手势
12     UIPinchGestureRecognizer* _pinchGes;
13
14     UIRotationGestureRecognizer* _rotGes;
15
16
17 }
18
19 //属性定义
20 //@property(retain,nonatomic) UITextField* textField;
21
22
23
24
25 @end 
时间: 2024-10-10 00:45:01

UIGesture 缩放与旋转手势的相关文章

微信小程序的拖拽、缩放和旋转手势

在开发中,有时会遇到像App中的手势那样的效果,下面就仿照App实现了一下. wxml部分: <view class="touch-container"> <view class="msg">{{msg}}</view> <image class="img" src="{{src}}" style="width: {{width}}rpx; height: {{height}

【Android】自定义ImageView实现图片的平移、缩放、旋转(手势操作)

http://blog.csdn.net/happy_bug/article/details/7895244 在网上搜到很多都是一样的版本,只有平移和缩放的功能.我在搜到的源代码基础上添加了旋转和边界检查的功能.

使用手势对UIImageView进行缩放、旋转和移动

[cpp] view plain copy // 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateView:)]; [view addG

【转】使用手势对UIImageView进行缩放、旋转和移动

原文地址http://blog.csdn.net/crazy_frog/article/details/8664108/ // 添加所有的手势 - (void) addGestureRecognizerToView:(UIView *)view { // 旋转手势 UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self act

touch.js 拖动、缩放、旋转 (鼠标手势)

可以实现手势操作:拖动.缩放.旋转.封装好的脚本方法是这样的: var cat = window.cat || {}; cat.touchjs = { left: 0, top: 0, scaleVal: 1, //缩放 rotateVal: 0, //旋转 curStatus: 0, //记录当前手势的状态, 0:拖动, 1:缩放, 2:旋转 //初始化 init: function ($targetObj, callback) { touch.on($targetObj, 'touchsta

Qt on Android: Qt Quick 事件处理之捏拉缩放与旋转

上一篇<Qt on Android: Qt Quick事件处理之鼠标.键盘.定时器>我们介绍了常见的鼠标.键盘.定时器的处理,鼠标.键盘都是电脑上我们最常使用的事件,这节我们来介绍 Android 智能手机上的一个非常重要的手势:捏拉手势.捏拉手势最早在苹果手机上得到应用,苹果还曾经尝试为此操作申请专利,借以钳制三星在美国的手机和平板销售.这些我们且不管它,咱们只说在 Qt Quick 中如何处理捏拉手势. 广而告之:我正在参加 CSDN 博文大赛,请给我的参赛文章<Qt on Andr

iOS 开发UI中轻拍,长按,旋转手势识别器方法

一.监听触摸事件的做法 如果想监听一个view上面的触摸事件,之前的做法通常是:先自定义一个view,然后再实现view的touches方法,在方法内部实现具体处理代码 通过touches方法监听view触摸事件,有很明显的几个缺点 (1)必须得自定义view (2)由于是在view内部的touches方法中监听触摸事件,因此默认情况下,无法让其他外界对象监听view的触摸事件(需要通过代理) (3)不容易区分用户的具体手势行为 iOS 3.2之后,苹果推出了手势识别功能(Gesture Rec

ios手势识别-缩放和旋转

////  ViewController.m//  zwj-手势识别-缩放和旋转////  Created by zwj on 14-9-16.//  Copyright (c) 2014年 zwj. All rights reserved.// #import "ViewController.h" @interface ViewController ()<UIGestureRecognizerDelegate> @property (weak, nonatomic) IB

iOS围绕某点缩放或旋转的AnchorPoint的设定

经常会遇到需求,要求手势的缩放或者旋转操作,要求动作变化围绕某一个特定点,或者是两指的中心点,或者是某一个点. 这个问题首先要清晰的知道,iOS各个view的层次关系.特别是,要清除的知道,当前view的frame与superView的bounds是一个坐标系. 具体来讲,AnchorPoint 是iOS CoreAnimation层的事物.图层的anchorPoint属性是一个CGPoint值,它指定了一个基于图层bounds的符合位置坐标系的位置.Anchor point指定了bounds相