7

In my app I want to provide text scaling in layer backed NSTextView like Apple's TextEdit. I use analogue of it's ScalingScrollView. Also I need to create some CALayer overlays on self.window.contentView. All is ok until I make [self.window.contentView setWantsLayer:YES].

Before [setWantsLayer:YES]

enter image description here

After [setWantsLayer:YES]

enter image description here

I haven't any ideas how to fix this problem.

4

1 に答える 1

6

私も同様の問題の解決策を探していました。最後に、レイヤーに基づくビューはインテグラル ピクセル上に配置する必要があり、サブピクセル上に配置してはならないことを発見しました。

たとえば、レイヤーに基づくビューのフレームを動的に計算する場合

 NSMakeRect((self.frame.size.width - 350)/2, (self.frame.size.height - 150)/2, 350, 150)

非整数値に遭遇する可能性があるため、次のようにする必要があります

 NSMakeRect(floor((self.frame.size.width - 350)/2), floor((self.frame.size.height - 150)/2), 350, 150)
于 2013-10-06T15:44:04.660 に答える