3

我有一个支持图层的视图,并且想了解锚点是如何为它工作的,是否允许它使用 CALayer 几何属性(而不是使用 NSView 的框架属性)

首先,引用文档:

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

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

在此处输入图像描述

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

在此处输入图像描述

更新

这是我用来实例化 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];

有趣的是,似乎对于 layer-backed view 的默认锚点是 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

4

1 回答 1

1

以下是 NSView 上 Apple 文档的引用:

当使用 layer-backed 视图时,你不应该直接与 layer 交互。

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

于 2012-12-06T10:19:44.197 回答