【问题标题】:Adding a NSButton to a CALayer in OS X Cocoa在 OS X Cocoa 中将 NSButton 添加到 CALayer
【发布时间】:2013-01-23 00:12:58
【问题描述】:

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

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

在@界面中

IBOutlet NSButton* firstButton;

在@实现中

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

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

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

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

【问题讨论】:

    标签: xcode macos cocoa core-animation calayer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多