我有一个NSScrollView
,有各种子视图类型。有些是NSTextViews
,有些是NSTextFields
,有些是NSButtons
等。
当我将NSScrollView
的放大倍率设置为1.0以外的任何值时,焦点环不会被绘制在视图的正确位置上。
例如,这应该是它的样子(缩放为1.0):
但放大1.5倍,这就是它的样子:
请注意,在Stack Overflow上,图像看起来大小相同,但在实际屏幕截图中,1.5缩放图像更大。但你得到的想法是聚焦环被偏移。
要设置放大率,我使用以下代码:
[self.scrollView setMagnification:zoomLevel]
所以它的代码非常简单。 NSTextView
显然有自己的NSScrollView
围绕它,而且实际上焦点环正在绘制的地方。正如您在这些屏幕截图中看到的那样,常规NSTextFields
和NSButtons
也存在同样的问题:
你可以看到按钮的对焦环只是一个蓝点偏离它应该的位置。
放大1.0倍,看起来都很正常。
如果我使用捏缩放,当滚动视图缩放时,您可以看到聚焦环远离场地移动。
有谁知道使用setMagnification
的{{1}}方法的正确方法是什么?看起来我应该能够设置值。这确实有效,但我有这些麻烦,焦点环没有排队。
非常感谢任何帮助或想法。
这是在Mac OS X 10.10.1上,但它也发生在OS X 10.9.x上。并且也发生在OS X 10.10上。