我正在尝试在分层托管NSVIew中的CALayer上实现缩放。带有图层的NSView(图层大小:1024x768)位于NSScrollView中。我为实现缩放所做的是以下
- (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 :(得分:0)
+ (CALayer *)layer
别名后备存储(我将其称为根层)随视图调整大小,无法阻止此操作。