sol*_*eil 5 gesture-recognition uiview uigesturerecognizer ios
这是我当前的手势识别器实现:
- (IBAction)handleRotate:(UIRotationGestureRecognizer *)recognizer {
if([recognizer state] == UIGestureRecognizerStateEnded) {
_lastRotation = 0.0;
return;
}
CGFloat rotation = 0.0 - (_lastRotation - [recognizer rotation]);
CGAffineTransform currentTransform = self.container.transform;
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform,rotation);
[self.container setTransform:newTransform];
_lastRotation = [recognizer rotation];
}
Run Code Online (Sandbox Code Playgroud)
工作良好.问题是self.container总是围绕它的中心旋转.我希望它围绕两个触摸的中点旋转,这样如果你放大了,你可以围绕你正在触摸的区域旋转.我该怎么做呢?
我不太确定是否可以将一个点设置到正在旋转的对象的边界之外,但是您的容器图层属性将允许您从变换中指定锚点。
它接受从左上角到右下角 0.0-1.0 的值。
#import <QuartzCore/QuartzCore.h>
[[container layer] setAnchorPoint:myCGPoint];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2321 次 |
| 最近记录: |