【发布时间】:2013-09-02 06:58:54
【问题描述】:
当用户在 IOS 中捏屏幕时,我正在尝试放大我的画布。
我正在从 Android 翻译我的代码(有效),这是一个 snift:
focusX = gestureDetector.getFocusX();
focusY = gestureDetector.getFocusY();
enter code herecanvas.scale(mScaleFactor,mScaleFactor,focusX,focusY);
我翻译的 IOS 代码没有给出相同的结果:
- (void)onScale:(UIPinchGestureRecognizer *)gesture
{
if (gesture.state == UIGestureRecognizerStateBegan) {
CGPoint endPoint = [gesture locationInView:self];
focusX = endPoint.x;
focusY = endPoint.y;
}
}
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), focusX, focusY);
CGContextScaleCTM(UIGraphicsGetCurrentContext(), mScaleFactor, mScaleFactor)
为什么?
【问题讨论】:
-
你可以在这里发布一些代码。一般来说 CGContextTranslateCTM 和 CGContextScaleCTM 应该可以完成这项工作。你可能遗漏了什么。
标签: android ios android-canvas quartz-graphics cgcontext