【问题标题】:Implementing zooming in CALayer在 CALayer 中实现缩放
【发布时间】:2011-12-19 14:52:05
【问题描述】:

我正在尝试在分层托管的 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)。我无法弄清楚原因。 任何形式的帮助将不胜感激。

【问题讨论】:

    标签: calayer zooming nsscrollview


    【解决方案1】:

    + (CALayer *)layer别名后备存储(我称之为根层)随视图调整大小,没有办法阻止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-13
      • 2012-02-12
      • 2019-09-14
      • 1970-01-01
      • 2014-08-15
      • 1970-01-01
      • 2011-03-30
      • 2011-12-08
      相关资源
      最近更新 更多