gpt4 book ai didi

cocoa - 自定义形状的 NSButton

转载 作者:行者123 更新时间:2023-12-03 17:53:37 27 4
gpt4 key购买 nike

我正在尝试在 Xcode 4.6.3 中创建八个自定义按钮 (NSButton)。这些是圆的线段。我为每个部分使用了一个标准的矩形按钮,为每个部分添加了一个自定义图像。但是,当我将各个部分放在一个圆圈中时,无法单击其中一些按钮,因为每个按钮周围的矩形区域重叠,并且无法到达按钮的另一半。

我想知道是否有任何方法可以使按钮形状至少为三角形,以便我可以单击所有这些按钮?

最佳答案

来自文档“查看编程指南”:

Note: For performance reasons, Cocoa does not enforce clipping among sibling views or guarantee correct invalidation and drawing behavior when sibling views overlap. If you want a view to be drawn in front of another view, you should make the front view a subview (or descendant) of the rear view.

换句话说,您不能指望重叠 View 能够正确处理鼠标事件。无法回避 View 占据矩形框架的事实。您必须创建一个 View 来执行所有圆段的工作(包括绘图和事件处理,以及可选的鼠标移动事件)。您必须使用三角学来计算鼠标单击发生在哪个段中,并通过重新绘制该段并调用所需的操作来做出适当的响应,就像按下按钮一样。

关于cocoa - 自定义形状的 NSButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898111/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com