手势行为
来源:互联网 发布:短信软件 编辑:程序博客网 时间:2024/05/01 20:52
@synthesize lastScale=_lastScale;
@synthesize lastRotation=_lastRotation;
@synthesize firstX=_firstX;
@synthesize firstY=_firstY;
// 缩放
-(void)scale:(id)sender {
if([(UIPinchGestureRecognizer*)senderstate] == UIGestureRecognizerStateBegan) {
_lastScale = 1.0;
}
CGFloat scale = 1.0 - (_lastScale - [(UIPinchGestureRecognizer*)senderscale]);
CGAffineTransform currentTransform = tempView.transform;
CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);
[tempViewsetTransform:newTransform];
_lastScale = [(UIPinchGestureRecognizer*)senderscale];
}
// 旋转
-(void)rotate:(id)sender {
if([(UIRotationGestureRecognizer*)senderstate] == UIGestureRecognizerStateEnded) {
_lastRotation = 0.0;
return;
}
CGFloat rotation = 0.0 - (_lastRotation - [(UIRotationGestureRecognizer*)senderrotation]);
CGAffineTransform currentTransform = tempView.transform;
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform,rotation);
[tempViewsetTransform:newTransform];
_lastRotation = [(UIRotationGestureRecognizer*)senderrotation];
}
// 移动
-(void)move:(id)sender {
CGPoint translatedPoint = [(UIPanGestureRecognizer*)sendertranslationInView:self.view];
if([(UIPanGestureRecognizer*)senderstate] == UIGestureRecognizerStateBegan) {
_firstX = [tempViewcenter].x;
_firstY = [tempViewcenter].y;
}
translatedPoint =CGPointMake(_firstX+translatedPoint.x,_firstY+translatedPoint.y);
[tempViewsetCenter:translatedPoint];
}
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizeralloc] initWithTarget:selfaction:@selector(scale:)];
[self.viewaddGestureRecognizer:pinchRecognizer];
[pinchRecognizerrelease];
UIRotationGestureRecognizer *rotationRecognizer = [[UIRotationGestureRecognizeralloc] initWithTarget:selfaction:@selector(rotate:)];
[self.viewaddGestureRecognizer:rotationRecognizer];
[rotationRecognizerrelease];
UIPanGestureRecognizer *panRecognizer = [[[UIPanGestureRecognizeralloc] initWithTarget:selfaction:@selector(move:)]autorelease];
[panRecognizersetMinimumNumberOfTouches:1];
[panRecognizersetMaximumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[self.viewaddGestureRecognizer:panRecognizer];
- 手势行为
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- 手势
- javascript动态修改html页面内容
- 应聘者众生相
- java 多态/引用变量的强制类型转换?/静态的初始化块
- HDU3003 Pupu,快速幂取模
- webservice入门---第一个快速实例
- 手势行为
- 面试题-递归
- JQuery获取$(this)子节点对象的方法
- 驾驶心得
- Linux/Android启动之Machine-Init函数
- Jquery 获取对象的几种方式
- Java的WEB应用性能问题定位方法总结:常见的性能指标分析 .
- VC 调出系统关机/重启面板
- Top的VIRT是什么