CALayer,NSTextView和缩放

Akk*_*kki 7 cocoa calayer nstextview nsscrollview

在我的应用程序中,我想在层支持的NSTextView中提供文本缩放,如Apple的TextEdit.我使用它的ScalingScrollView模拟.另外我需要创建一些CALayer叠加self.window.contentView.一切都好,直到我做[self.window.contentView setWantsLayer:YES].

之前 [setWantsLayer:YES]

在此输入图像描述

[setWantsLayer:YES]

在此输入图像描述

我没有任何想法如何解决这个问题.

Dan*_*ara 6

我一直在寻找类似问题的解决方案.最后,我发现图层支持的视图必须位于整数像素上,并且不得位于子像素上.

例如,如果您动态计算图层支持视图的帧

 NSMakeRect((self.frame.size.width - 350)/2, (self.frame.size.height - 150)/2, 350, 150)
Run Code Online (Sandbox Code Playgroud)

你可能会遇到非整数值,所以你应该做类似的事情

 NSMakeRect(floor((self.frame.size.width - 350)/2), floor((self.frame.size.height - 150)/2), 350, 150)
Run Code Online (Sandbox Code Playgroud)