2011-12-19 2 views
1

레이어가있는 NSVIew에서 CALayer 확대/축소를 구현하려고합니다. 레이어가있는 NSView (레이어의 크기 : 1024x768)는 NSScrollView 내부에 있습니다. 내가 줌을 구현 한 것은에서 확대 또는 NSView의에서 축소를위한 버튼을 클릭 한 후 다음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의 스크롤 할 때마다 (I는 내부의 NSView의를 넣어 기억이다 NSScrollView보다 크고 NSView가 NSScrollView보다 크다면 CALayer는 자동으로 원래 크기 (즉, 1024x768)로 크기가 조정됩니다. 나는 이유를 알 수 없다. 어떤 종류의 도움이라도 대단히 감사하겠습니다.

답변

0

+ (CALayer *)layer 별칭 백업 저장소 (루트 레이어라고 함)는보기로 크기가 조정되므로이를 방지 할 수있는 방법은 없습니다.