从cocoa中的NSView子类启动窗口

时间:2009-06-07 13:41:47

标签: cocoa

是否可以通过单击NSRect在NSView子类中启动窗口?我尝试过makeKeyAndOrderFront,但这不起作用。

1 个答案:

答案 0 :(得分:2)

您无法点击矩形。矩形只有四个数字。

您可以拥有一个响应点击的NSView,但您应该考虑使用NSButton。如果您确实需要自定义视图,则可以创建按钮并以编程方式将其添加为视图的子视图。然后,通过打开窗口,将按钮的目标设置为您自己,并将其操作设置为您将响应的消息的选择器。

还有一件事:你没有启动一个窗口。 Windows不是应用程序,应用程序不是Windows。在Mac OS X上,应用程序具有窗口 - 总是不止一个(至少计算“关于”面板)。因此,您将从笔尖加载窗口,然后将其设置为键(响应事件)并将其排序。

关于这一点:你可能不应该拥有一个拥有窗口的视图。考虑使控制器对象拥有窗口,并让您的视图简单地将消息转发给控制器对象(甚至直接将按钮挂接到控制器)。