图层支持视图的核心动画几何体

时间:2012-12-06 09:36:26

标签: macos cocoa core-animation

我有一个支持图层的视图,想要了解锚点的工作原理,并且完全可以使用CALayer几何属性(而不是使用NSView的frame属性)

首先,引用文档:

  

anchorPoint的默认值是(0.5,0.5),对应于   图层边界的中心

但是当我尝试直接将锚点的值更改为(0.5,0.5)时,我得到了偏移量。下面是示例,红色区域是原始位置(当没有应用于锚点时),按钮被移动到左下角:

enter image description here

当我将锚点设置为(0,0)按钮时,它应该放在:

enter image description here

更新

以下是我用来实例化Button的代码:

self.button = [[NSButton alloc] initWithFrame:NSMakeRect(130, 130, 100, 40)];
self.button.title = @"My Title";
self.button.wantsLayer = YES;
NSLog(@"Button anchor Point is : (%f;%f)", self.button.layer.anchorPoint.x, self.button.layer.anchorPoint.y);
[panelView addSubview:self.button];

有趣的是,对于图层支持的视图来说,默认锚点是0,0:

NSLog(@"Button anchor Point is : (%f;%f)", self.button.layer.anchorPoint.x, self.button.layer.anchorPoint.y);

生成(0.000000; 0.000000)

毕竟,OS X部署目标是10.8

1 个答案:

答案 0 :(得分:1)

以下是关于NSView的Apple文档的引用:

  

使用图层支持的视图时,不应直接与之交互   层。

似乎此代码跨越了您可以对图层支持的视图执行的操作的边界。