UI - UIGestureRecognizer 手势
2015-08-26 17:18
375 查看
UIGestureRecognizer里有7个手势,下面介绍3种常用的手势
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // 如果图片的名字是以png结尾 可以只写图片名 否则图片名和格式都要写出来 // UIImage *image = [UIImage imageNamed:@"2"]; UIImage *image = [UIImage imageWithContentsOfFile:@"/Users/lanou/Desktop/壁纸/97054020.jpg"]; UIImageView *imageView = [[UIImageView alloc]initWithImage:(image)]; imageView.frame = CGRectMake(50, 50, 250, 330); imageView.userInteractionEnabled = YES; [self.view addSubview:imageView]; [imageView release]; // 创建一个轻拍手势 /* UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doTap:)]; [imageView addGestureRecognizer:tap]; [tap release]; */ // 创建一个旋转手势 UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(doRotation:)]; [imageView addGestureRecognizer:rotation]; rotation.delegate = self; [rotation release]; // 创建一个捏合手势 UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(doPinch:)]; [imageView addGestureRecognizer:pinch]; pinch.delegate = self; [pinch release]; /* NSMutableArray *arr = [NSMutableArray arrayWithCapacity:0]; UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)]; for (int i = 1; i <= 2; i++) { UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"1-%d(被拖移).tiff", i]]; [arr addObject:image]; } imageView.animationImages = arr; [imageView setAnimationDuration:0.5]; [imageView setAnimationRepeatCount:4]; [imageView startAnimating]; [self.view addSubview:imageView]; [imageView release]; */ } - (void)doTap:(UITapGestureRecognizer *)tap { // 通过tap.view可以获得当前手势放置在哪一个view上 // NSLog(@"被点击了 (╯‵□′)╯︵┻━┻ FUCK NO%@", tap.view); //进入第二个界面 //1>创建第二个界面 SecondViewController *secondVC = [[SecondViewController alloc]init]; //2>进入 [self presentViewController:secondVC animated:YES completion:^{ }]; [secondVC release]; } #pragma mark - doRotation - (void)doRotation:(UIRotationGestureRecognizer *)rotation { // NSLog(@"旋转木马��"); // 在做旋转的时候对应的有两个函数,一个是CGAffineTransformMakeRotation 还有一个就是CGAffineTransformRotation这两个函数的区别就在于第二个函数可以在上次的基础上继续旋转,第一个函数只能做一次旋转 // 1.在上次的基础上做旋转 rotation.view.transform = CGAffineTransformRotate(rotation.view.transform, rotation.rotation); // 2.将手势识别器的旋转角度归零 下次让其在新的旋转角度上进行旋转 而不是累加 rotation.rotation = 0; } #pragma mark - doPinch - (void)doPinch:(UIPinchGestureRecognizer *)pinch { pinch.view.transform = CGAffineTransformScale(pinch.view.transform, pinch.scale , pinch.scale); pinch.scale = 1; } #pragma mark - 几个手势同时使用 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; }
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- 为Yahoo! UI Extensions Grid增加内置的可编辑器
- Cocos2d-x UI开发之文本类使用实例
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
- UI Events 用户界面事件
- 基于jQuery UI CSS Framework开发Widget的经验
- jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
- jQuery UI的Dialog无法提交问题的解决方法
- jQuery ui实现动感的圆角渐变网站导航菜单效果代码
- 关于jQuery UI 使用心得及技巧
- jQuery ui 1.7更新小结
- 从零开始学习jQuery (十) jQueryUI常用功能实战
- jquery ui对话框实例代码
- jQuery UI AutoComplete 自动完成使用小记
- jQuery UI Autocomplete 体验分享
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- 基于Android中手势交互的实现方法
- Android UI使用HTML布局方法实例
- 浅谈AnDroidDraw+DroidDraw实现Android程序UI设计的分析说明