1

私のプロジェクトは Mac OSX 10.10/10.9 では問題なく動作しますが、10.11 では次のコードを使用すると正しく動作しません。

[(PDFAnnotationInk*)_activeAnnotation removeBezierPath:_path];

[_activeAnnotation setBounds:bound];                           

// Lazy, redraw entire view.        

 NSAffineTransform* transform = [NSAffineTransform transform]; 

[transform translateXBy:-bound.origin.x yBy:-bound.origin.y];

 [_path transformUsingAffineTransform:transform];

[(PDFAnnotationInk*)_activeAnnotation addBezierPath:_path]; 

[[_activeAnnotation page] removeAnnotation: _activeAnnotation];     

[self addAnnotationSelector:_activeAnnotation];

これを変更すると [transform translateXBy:-bound.origin.x yBy:-bound.origin.y];

[transform translateXBy:bound.origin.x yBy:bound.origin.y];

アプリケーションは OSX 10.11 では正しく動作しますが、OSX 10.10/10.9 では正しく動作しません...

理由はわかりませんが、最新の Mac OS X 10.11 では NSAffineTransform の座標系が異なるのですか? この問題を解決して、アプリケーションを 10.10/9 と 10.11 の両方に対応させるにはどうすればよいですか? ありがとう。

4

1 に答える 1