Cocoa界面:2d滑块

时间:2011-11-19 16:48:23

标签: cocoa interface-builder

我正在寻找Cocoa中的2D滑块。

它应该与此类似:

a busy cat

这是Mathematica的2D滑块look here。似乎在Xcode界面构建器中没有这样的东西。

基本上我的cocoa界面应该显示从上方看到的房间(2d滑块可以移动的空间),当我点击它时,2D光标移动到房间中的那个位置。 关于如何做到这一点的任何想法?

一种简单的方法是使用2个正交1D滑块,但它不是一个很好看的解决方案。

干杯!

1 个答案:

答案 0 :(得分:2)

非常简单的方法:子类NSView,并使用Three-Method Approach鼠标事件处理来记录当前点(转换为您选择的任何坐标空间,例如中心的0,0)。在-drawRect:中,绘制相交线和“旋钮”(例如,直接或通过绘制预渲染的“knob.png”图像)。由于NSView继承自NSResponder,因此您可以使用target/action机制在视图的值因点击或旋钮拖动而发生更改时通知您的控制器。