使NSRect可选

时间:2009-04-06 07:47:10

标签: cocoa select

有一种简单的方法可以在Cocoa中创建可选择的NSRect吗?需要一个可以选择的矩形,并在鼠标单击后保持选中状态。

感谢。

3 个答案:

答案 0 :(得分:2)

NSRect只是一个具有位置和大小的结构。它不是一个实际上可以任何东西的对象,或者除了宽度和高度之外还有任何属性。听起来你想要的是创建一个可以选择的NSView。 (这是关于这个主题的Apple's Guide。)

答案 1 :(得分:1)

虽然没有您想要的那么直接,但您可能对跟踪矩形的管理和跟踪由NSView类执行的区域感兴趣。

此机制允许您定义自定义视图的特定区域。然后,只要光标进入或离开该区域,或者在该区域中按下鼠标按钮,就会生成一个事件(-mouseEntered:-mouseExited:-mouseDown:-mouseUp:,{ {1}},...... NSResponder类。这取决于您定义应用程序为响应这些事件而执行的操作(将矩形设置为选中并相应地显示它)。

答案 2 :(得分:0)

有关此示例的实现,请查看Apple开发人员工具附带的Sketch示例(查看/ Developer / Examples / AppKit)。 Sketch允许用户创建新图形(包括矩形,但也包括椭圆,线条和文本),选择它们,在文档中移动它们等等。特别是,您可能希望查看SKTGraphic类,表示文档中的单个图形对象,以及SKTGraphicView类,它是执行实际布局和绘图的NSView子类,处理用于拖动视图的鼠标事件等。