2012-10-29 37 views
7

Uygulamamda, Apple'ın TextEdit gibi NSTextView katman destekli metin ölçekleme sağlamak istiyorum. Ben ScalingScrollView'un analogunu kullanıyorum. Ayrıca self.window.contentView'da bazı CALayer katmanları oluşturmam gerekiyor. [self.window.contentView setWantsLayer:YES] yapana kadar her şey yolunda.CALayer, NSTextView ve ölçekleme

enter image description here

[setWantsLayer:YES] sonra

enter image description here

[setWantsLayer:YES] Önce ben nasıl bu sorunu çözmek için herhangi bir fikirleri var.

cevap

6

Ben de benzer sorunlara çözüm arıyordum. Son olarak, katman destekli görünümlerin integral piksellere yerleştirilmesi gerektiğini ve alt piksellere yerleştirilmemesi gerektiğini keşfettim.

E.g. dinamik çerçevesini hesaplamak eğer katman destekli görünüm

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

olmayan ayrılmaz değerler karşılaşabilir, bu nedenle

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

Tanrı gibi bir şey yapmalıyım, harikasın! Maalesef, bu soru gerçekliğini kaybetti, ama çözümün çok zarif. Teşekkürler! – Akki