NSAffineTransform 在 Mac OS X 10.11 中是不是有不同的坐标系?
Posted
技术标签:
【中文标题】NSAffineTransform 在 Mac OS X 10.11 中是不是有不同的坐标系?【英文标题】:Does NSAffineTransform have different Coordinate system in Mac OS X 10.11?NSAffineTransform 在 Mac OS X 10.11 中是否有不同的坐标系? 【发布时间】:2015-10-24 09:34:03 【问题描述】:我的项目在 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 兼容?谢谢。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。没有记录如何定位注释的规则;它没有说墨迹路径必须相对于注释的原点,但它们确实如此。我认为苹果公司的某个人要么不小心弄坏了它,要么改变了它应该如何工作的想法。
在他们再次改变主意(或修复错误)之前,我正在检查系统版本(使用 /System/Library/CoreServices/SystemVersion.plist 中的 ProductVersion 键)并按照 10.10 及更早版本的旧方式执行此操作,以及 10.11 及更高版本的非反转原点的新方法。
【讨论】:
我也是!希望他们能解决这个问题以上是关于NSAffineTransform 在 Mac OS X 10.11 中是不是有不同的坐标系?的主要内容,如果未能解决你的问题,请参考以下文章
Mac OS X上的Quitar acls de un fichero o directorio
mac锛欸o瀹夎鍜岄厤缃?GoLand瀹夎鍜屼娇鐢ㄤ箣瀹屾暣鏁欑▼