当用户在IOS中捏屏时,我正在尝试放大画布。

我正在从Android(可正常使用)翻译我的代码,这是一个小巧的做法:

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是多余的。我还有另一个问题,Android中识别器的比例因子是相对的,而在IOS中则是绝对的。

关于android - 在图形上下文中将数据放大一个关键值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18567292/

10-10 01:40