0

我有一个包含 CAlayer 的图层托管视图,在这种情况下显示一个漂亮的蓝色不透明矩形。我想要做的是在图层顶部添加一个 NSButton ,以便它位于上方并在动画时与蓝色矩形一起移动。

到目前为止,我的尝试如下:

在@interface

IBOutlet NSButton* firstButton;

在@实现中

[layer addSublayer:[firstButton layer]];
firstButton.layer.position=NSMakePoint(0, 80.);

这成功地移动了屏幕上按钮的位置,但不会移动按钮的“命中目标”。

根据此处在 Apple Mailing Lists 上提出的类似问题,解决方案似乎是在按钮上使用 setFrameOrigin: 移动 NSButton。这似乎对我不起作用,因为它改变了显示按钮的位置以及“命中目标”。我似乎无法独立移动命中目标。

或者:我是不是走错了路?有没有更好的方法来做到这一点?

4

1 回答 1

1

不幸的是,您无法通过操作图层来移动按钮(包括命中目标)。这是非常不幸的,但是您将不得不在按钮本身的框架上使用动画代理,而不是尝试直接修改图层。

于 2013-01-23T02:41:54.430 回答