2012-10-29 28 views
7

在我的應用程序中,我想提供像蘋果的TextEdit這樣的層次支持NSTextView的文本縮放。我使用它的模擬ScalingScrollView。另外我需要在self.window.contentView上創建一些CALayer覆蓋圖。一切都好,直到我做[self.window.contentView setWantsLayer:YES]CALayer,NSTextView和縮放

之前[setWantsLayer:YES]

enter image description here

[setWantsLayer:YES]

enter image description here

我沒有任何想法如何解決這個問題。

回答

6

我一直在尋找類似問題的解決方案。最後,我發現支持層的視圖必須位於整數像素上,並且不得放置在子像素上。

E.g.如果動態計算的框架層支持的觀點

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) 
+1

上帝,你太棒了!不幸的是,這個問題已經失去了現實,但你的解決方案如此優雅。謝謝! – Akki