2011-12-19 113 views
1

我試圖在分層託管的NSVIew中實現CALayer上的縮放。帶有圖層的NSView(圖層大小:1024x768)位於NSScrollView中。我所做的實現縮放是以下在CALayer中實現縮放

- (IBAction)zoomOut:(NSButton *)sender { 
CALayer *layer = self.editorView.layer; 
CGRect frame = layer.frame; 
frame.size.width = frame.size.width/2; 
frame.size.height = frame.size.height/2; 
layer.frame = frame; 
} 

- (IBAction)zoomIn:(NSButton *)sender { 
    CALayer *layer = self.editorView.layer; 
    CGRect frame = layer.frame; 
    frame.size.width = frame.size.width * 2; 
    frame.size.height = frame.size.height * 2; 
    layer.frame = frame; 
} 

點擊按鈕進行放大或一個NSView縮小後,問題是,每當我滾動的NSView(記住,我把一個NSView內的NSScrollView,並且NSView比NSScrollView大),CALayer將自動調整爲原始大小(即1024x768)。我無法弄清楚原因。 任何形式的幫助將不勝感激。

回答

0

+ (CALayer *)layer別名後備存儲(我稱之爲根層)調整大小與視圖,沒有辦法來防止這種情況。