我正在尝试在一个分层托管的NSVIew中实现CALayer的缩放。包含该层(层的大小: 1024x768)的NSView位于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)。我想不出其中的原因。任何形式的帮助都将不胜感激。
发布于 2012-03-09 16:05:14
+ (CALayer *)layer
别名后备存储(我称之为根层)随视图调整大小,没有办法阻止这一点。
https://stackoverflow.com/questions/8563053
复制相似问题