ios 手势识别
来源:互联网 发布:win7 版 人工智能 编辑:程序博客网 时间:2024/06/05 12:08
手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。iOS 中手势包括:UITapGestureRecognizer(点击),UIPinchGestureRecognizer(捏合),UIRotationGestureRecognizer(旋转),UISwipeGestureRecognizer(轻扫),UIPanGestureRecognizer(移动),UILongPressGestureRecognizer(长按)。上面的类属性和方法都比较简单,有几个方法个人感觉不容易理解的,在这里说明一下。
- (void)viewDidLoad { [super viewDidLoad]; image1 = [[UIImageView alloc]initWithFrame:CGRectMake(80, 20, 200, 200)]; image1.image = [UIImage imageNamed:@"0.jpg"]; image1.userInteractionEnabled = YES; [self.view addSubview:image1]; //点击 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tap:)]; [image1 addGestureRecognizer:tap]; //捏合 UIPinchGestureRecognizer *pin = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pin:)]; [image1 addGestureRecognizer:pin]; //旋转 UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotation:)]; [image1 addGestureRecognizer:rotation]; //轻扫 UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)]; [image1 addGestureRecognizer:swipe]; //移动 UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(pan:)]; [image1 addGestureRecognizer:pan]; // Do any additional setup after loading the view, typically from a nib.}-(void) tap:(UITapGestureRecognizer *)gestureRecognizer{ CGPoint point1 = [gestureRecognizer locationInView:image1]; NSLog(@"point1 = %@",NSStringFromCGPoint(point1));}- (void)pin:(UIPinchGestureRecognizer *)gestureRecognizer{ NSLog(@"scale = %f;velocity = %f",gestureRecognizer.scale,gestureRecognizer.velocity); image1.transform = CGAffineTransformMakeScale(gestureRecognizer.scale, gestureRecognizer.scale);}- (void)rotation:(UIRotationGestureRecognizer *)gestureRecognizer{ image1.transform = CGAffineTransformMakeRotation(gestureRecognizer.rotation);}- (void)swipe:(UISwipeGestureRecognizer *)gestureRecognizer{ image1.image = [UIImage imageNamed:@"2.jpg"];}- (void)pan:(UIPanGestureRecognizer *)gestureRecognizer{ //相对于手指开始的位置 CGPoint point1 = [gestureRecognizer translationInView:image1]; //相对于View左上角的位置 CGPoint point2 = [gestureRecognizer locationInView:image1]; CGFloat centerX = image1.center.x; CGFloat centerY = image1.center.y; image1.center = CGPointMake(centerX + point1.x, centerY + point1.y); //注意这里 [gestureRecognizer setTranslation:CGPointMake(0, 0) inView:image1]; NSLog(@"point1 = %@ ; point2 = %@",NSStringFromCGPoint(point1),NSStringFromCGPoint(point2));}
BLOG:http://www.cnblogs.com/yzvictory/p/5291111.html
阅读全文
0 0
- iOS 手势识别 - gestureRecognizer
- ios 手势识别UIGestureRecognizer
- iOS 手势识别 - gestureRecognizer
- iOS手势识别初探
- iOS实现手势识别
- iOS手势识别(转)
- iOS 手势识别 - gestureRecognizer
- iOS- UIImageView/手势识别
- IOS手势识别
- IOS 开发手势识别
- IOS之手势识别
- iOS 手势识别
- iOS各种手势识别
- iOS 手势识别 - gestureRecognizer
- IOS 手势识别
- iOS 手势识别 详述
- iOS 手势识别器
- iOS手势识别器
- qt使用SDL播放视频 窗口拉伸 视频闪烁
- PlzNavigate项目: Browser side navigation in Chrome
- UITextField和UISwitch
- oracle 基础知识——环境配置
- ubuntu 用户管理
- ios 手势识别
- git 添加ssh-key查看config
- 百练之垂直直方图
- PAT-A-1028. List Sorting (25)
- 新建SpringBoot eclipse 报错
- 机器学习常见算法总结
- iterm2 使用 option + left/right (b/f)
- Servlet上传文件源码
- mint-ui —— header的使用