Gesture(手势旋转图片,缩放图片,touch图片处理相关事件)
来源:互联网 发布:交易师炒股软件下载 编辑:程序博客网 时间:2024/05/16 14:44
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *img = [UIImage imageNamed:@"iphone.png"];
UIImageView *imageView = [[UIImageView alloc]initWithImage:img];
imageView.frame = CGRectMake(100, 100, 200, 200);
[self.view addSubview:imageView];
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
tapGestureRecognizer.numberOfTouchesRequired = 1;
tapGestureRecognizer.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:tapGestureRecognizer];
//添加拖动手势
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)];
[imageView addGestureRecognizer:panGestureRecognizer];
//添加捏合缩放手势
UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(handlePinch:)];
[imageView addGestureRecognizer:pinchGestureRecognizer];
//添加旋转手势
UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(handleRotation:)];
[imageView addGestureRecognizer:rotationGestureRecognizer];
}
#pragma mark - 单击手势
- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"message" message:@"你单击了图片" delegate:nil cancelButtonTitle:@"yes" otherButtonTitles: nil];
[alert show];
}
#pragma mark - 拖动手势
- (void)handlePan:(UIPanGestureRecognizer *)recognizer
{
CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointZero inView:self.view];
//使用 CGAffineTransformMakeTranslation 函数创建一个仿射位移变换(affine translation transformation)。将被绘制到图形环境上的一切,到一个新的位置,而不需要修改你的绘图代码。
// recognizer.view.transform = CGAffineTransformMakeTranslation(recognizer.view.center.x, recognizer.view.center.y);
}
#pragma mark - 双指捏合,模拟器上按住Option模拟
- (void)handlePinch:(UIPinchGestureRecognizer *)recognizer
{
//transform为仿射变换 可以用于 平移、旋转、缩放变换路径 或者图形上下文
//CGAffineTransformScale为创建一个给定缩放比例的变换
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
//重置
recognizer.scale = 1;
}
- (void)handleRotation:(UIRotationGestureRecognizer *)recognizer
{
//CGAffineTransformRotate创建一个给定角度旋转的变换
recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0;
}
@end
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIImage *img = [UIImage imageNamed:@"iphone.png"];
UIImageView *imageView = [[UIImageView alloc]initWithImage:img];
imageView.frame = CGRectMake(100, 100, 200, 200);
[self.view addSubview:imageView];
//重要!其中交换功能
imageView.userInteractionEnabled = YES;UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
tapGestureRecognizer.numberOfTouchesRequired = 1;
tapGestureRecognizer.numberOfTapsRequired = 1;
[imageView addGestureRecognizer:tapGestureRecognizer];
//添加拖动手势
UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)];
[imageView addGestureRecognizer:panGestureRecognizer];
//添加捏合缩放手势
UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(handlePinch:)];
[imageView addGestureRecognizer:pinchGestureRecognizer];
//添加旋转手势
UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(handleRotation:)];
[imageView addGestureRecognizer:rotationGestureRecognizer];
}
#pragma mark - 单击手势
- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"message" message:@"你单击了图片" delegate:nil cancelButtonTitle:@"yes" otherButtonTitles: nil];
[alert show];
}
#pragma mark - 拖动手势
- (void)handlePan:(UIPanGestureRecognizer *)recognizer
{
CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointZero inView:self.view];
//使用 CGAffineTransformMakeTranslation 函数创建一个仿射位移变换(affine translation transformation)。将被绘制到图形环境上的一切,到一个新的位置,而不需要修改你的绘图代码。
// recognizer.view.transform = CGAffineTransformMakeTranslation(recognizer.view.center.x, recognizer.view.center.y);
}
#pragma mark - 双指捏合,模拟器上按住Option模拟
- (void)handlePinch:(UIPinchGestureRecognizer *)recognizer
{
//transform为仿射变换 可以用于 平移、旋转、缩放变换路径 或者图形上下文
//CGAffineTransformScale为创建一个给定缩放比例的变换
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
//重置
recognizer.scale = 1;
}
- (void)handleRotation:(UIRotationGestureRecognizer *)recognizer
{
//CGAffineTransformRotate创建一个给定角度旋转的变换
recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0;
}
@end
0 0
- Gesture(手势旋转图片,缩放图片,touch图片处理相关事件)
- Android 图片缩放,手势,事件
- android图片手势缩放
- android图片手势缩放
- android 图片缩放手势
- Android 图片手势缩放
- Matrix缩放图片, 旋转图片
- Android 图片旋转,缩放,切割,叠加处理
- Android 图片旋转,缩放,切割,叠加处理
- 图片处理---缩放,挖取,截屏,旋转
- 图片旋转,手势
- 图片旋转、缩放、反转
- 图片缩放 旋转
- 图片旋转,缩放,切割
- 图片缩放旋转
- ios 图片缩放/旋转
- 图片 旋转,缩放,移动
- 图片缩放与旋转
- Qt5 Demo Fortune例程各个实现区别(network)
- fastjson过滤字段属性
- spring jpa的学习链接
- hadoop权威指南第四章StreamCompressor程序的运行方法与问题总结
- ORACLE SQL优化事项
- Gesture(手势旋转图片,缩放图片,touch图片处理相关事件)
- 冰桶算法,优质资源稳守宝座
- poj1144--D - Network(连通分量,割点)
- Android开发Bitmap在Native层与Java层内存的两种生成方式
- 项目中接口定义不可少
- vision引擎中地形着色器介绍
- C++ primer笔记——第九章 顺序容器
- Android布局中实现仿微信的圆角边框
- java屏蔽非法字符