NSAffineTransform 在 Mac OS X 10.11 中是否有不同的坐标系?

Does NSAffineTransform have different Coordinate system in Mac OS X 10.11?

我的项目在 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];

[变换translateXBy:bound.origin.xyBy:bound.origin.y];

该应用程序在 OSX 10.11 上运行正常,但在 OSX 10.10/10.9 上运行不正常...

我不知道为什么,NSAffineTransform 在最新的 Mac OS X 10.11 中有不同的坐标系吗?我如何解决这个问题才能使应用程序与 10.10/9 和 10.11 兼容?谢谢

我遇到了同样的问题。没有记录如何放置注释的规则;它没有说墨迹路径必须相对于注释的原点,但它们确实如此。我假设 Apple 的某个人不小心弄坏了它,或者改变了他们对它应该如何工作的想法。

直到他们再次改变主意(或修复错误),我正在检查系统版本(使用 /System/Library/CoreServices/SystemVersion.plist 中的 ProductVersion 密钥)并以旧方式为 10.10 及更早版本执行此操作,并且10.11 及更高版本的非反转原点的新方法。