2013-09-02 2 views
0

Я пытаюсь увеличить масштаб своего холста, когда пользователь зажимает экран. В 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) 

Почему?

+0

Вы можете оставить здесь код. В общем случае CGContextTranslateCTM и CGContextScaleCTM должны выполнять эту работу. Возможно, вам что-то не хватает. – demosten

ответ

1

Я нашел проблему, CGContextTranslateCTM является избыточным. Кроме того, у меня была другая проблема, масштабный коэффициент распознавателя в Android относительный, тогда как в IOS он абсолютен.

Смежные вопросы