UIGestureRecognizer学习之—— UIRotationGestureRecognizer
来源:互联网 发布:淘米网络私有化 编辑:程序博客网 时间:2024/05/16 14:34
UIRotationGestureRecognizer是UIGestureRecognizer的子类。
UIRotationGestureRecognizer除了继承UIGestureRecognizer的属性外,还提供如下俩个属性:
rotation: //获取旋转角度velocity: //获取旋转速度
示例:通过旋转手势旋转图片
@implementation FKViewControllerUIImage* srcImage;CGFloat currentScale;CGFloat currentRotation;- (void)viewDidLoad{ [super viewDidLoad]; [UIApplication sharedApplication].statusBarHidden = YES; srcImage = [UIImage imageNamed:@"seashore.png"]; // 设置图片直接显示在中间(不进行任何缩放) self.view.contentMode = UIViewContentModeCenter; // 设置imageView初始显示的图片 self.imageView.image = srcImage; // 设置初始的缩放比例 currentScale = 1; currentRotation = 0; // 设置imageView允许用户交互,支持多点触碰 self.imageView.userInteractionEnabled = YES; self.imageView.multipleTouchEnabled = YES; // 创建UIPinchGestureRecognizer手势处理器,该手势处理器激发scaleImage:方法 UIPinchGestureRecognizer* gesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scaleImage:)]; // 为imageView添加手势处理器 [self.imageView addGestureRecognizer:gesture]; // 创建UIRotationGestureRecognizer手势处理器,该手势处理器激发rotateImage:方法 UIRotationGestureRecognizer* rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateImage:)]; // 为imageView添加手势处理器 [self.imageView addGestureRecognizer:rotateGesture];}- (void) scaleImage:(UIPinchGestureRecognizer*)gesture{ CGFloat scale = gesture.scale; // 根据手势处理器的缩放比计算图片缩放后的目标大小 CGSize targetSize = CGSizeMake(srcImage.size.width * scale * currentScale, srcImage.size.height * scale * currentScale); // 对图片进行缩放、旋转 self.imageView.image = [[srcImage imageByScalingToSize:targetSize] imageRotatedByRadians:currentRotation]; // 如果手势结束 if(gesture.state == UIGestureRecognizerStateEnded) { // 计算结束时候图片的缩放比 currentScale = scale * currentScale; }}- (void) rotateImage:(UIRotationGestureR- ecognizer*)gesture{ // 获取手势旋转的弧度 CGFloat rotation = gesture.rotation; // 根据当前缩放比计算图片缩放后的目标大小 CGSize targetSize = CGSizeMake(srcImage.size.width * currentScale, srcImage.size.height * currentScale); // 对图片进行缩放、旋转 self.imageView.image = [[srcImage imageByScalingToSize:targetSize] imageRotatedByRadians:currentRotation + rotation]; // 如果旋转手势结束 if(gesture.state == UIGestureRecognizerStateEnded) { currentRotation = currentRotation + rotation; }}@end
1 0
- UIGestureRecognizer学习之—— UIRotationGestureRecognizer
- iOS学习之——UIGestureRecognizer
- UIGestureRecognizer学习之——UITapGestureRecognizer
- UIGestureRecognizer学习之——UIPinchGestureRecognizer
- UIGestureRecognizer学习之——UISwipeGestureRecognizer
- UIGestureRecognizer学习之——UIPanGestureRecognizer
- UIGestureRecognizer学习之—— UILongPressGestureRecognizer
- 手势识别器(UIGestureRecognizer)- UIRotationGestureRecognizer(旋转)
- ios知识点 之——手势学习 UIGestureRecognizer
- 23. 手势识别之UIRotationGestureRecognizer
- IOS开发之手势——UIGestureRecognizer
- IOS开发之手势——UIGestureRecognizer
- IOS开发之手势—UIGestureRecognizer 共存
- 手势——UIGestureRecognizer
- iOS——UIGestureRecognizer
- IOS开发之手势——UIGestureRecognizer 共存
- IOS开发之手势——UIGestureRecognizer 共存
- IOS开发之手势——UIGestureRecognizer 共存
- Masonry的基本使用方法
- oracle imp (表导不出)
- xgboost: 速度快效果好的boosting模型
- Android官方MVP架构解读
- 接受一个整数n,如果是正数,列出1~n之间所有的数,如果是负数,用break或return退出,为0的话转到1,继续接受下一个数
- UIGestureRecognizer学习之—— UIRotationGestureRecognizer
- 救硬盘 分区变成RAW格式 恢复 救回
- c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
- 动态获取权限
- 安装hbase分布式集群(h15\h16\h17上操作,原因是在这些机器上有zookeeper-3.4.6)
- android多线程编程之AsyncTask与Handler
- [框架整合]spring+springmvc+mybatis(2)
- 实现身份证校验
- Maven安装Nexus私服说明