我是在 MAC 上编程的新手。我在 iOS 上做过编程,但使用的是故事板,所以对之前使用的 xib 格式不太熟悉。
我想实现这个非常基本的,我无法弄清楚如何。
如何导航到不同的窗口?
如何设置按钮的动作,即:如何设置按钮点击事件或按钮翻转事件?
将按钮从界面构建器链接到第一响应者或应用程序或文件所有者是什么意思。
我们是否必须像在 iOS 的故事板中那样为每个 xib 设置类?
非常感谢 。
如何导航到不同的窗口?
在 Mac 上,许多窗口可以同时可见,因此您不必在它们之间导航,而是显示和隐藏它们,也许将它们带到前面等。具体做什么取决于具体情况。
如何设置按钮的动作,即:如何设置按钮点击事件或按钮翻转事件?
您可以通过控制单击 xib 中的按钮并拖动到要处理它的控制器对象来为按钮设置操作。然后,您可以选择IBAction
单击按钮时要执行的方法(您必须首先在类的头文件中定义操作)。要跟踪鼠标悬停事件,请查看NSView
s-addTRackingRect:owner:userData:assumeInside:
方法。这可能会有所帮助。
将按钮从界面构建器链接到第一响应者或应用程序或文件所有者是什么意思。
这只是确定哪个对象获取操作消息。
我们是否必须像在 iOS 的故事板中那样为每个 xib 设置类?
不,任何对象都可以加载 xib 并使自己成为所有者
[NSBundle loadNibNamed: @"whatever" owner: objectThatWillOwnIt];
一些资源
Apple 的窗口编程指南
Apple 的工作表编程指南(工作表是出现在其他窗口顶部的窗口,例如打开和保存面板。
Mac OS X 的 Cocoa 编程,Aaron Hillegass(我从本书的第一版学习了 Cocoa)。
如果您的应用程序中有不同的 XIB 文件和控制器,则完全同意 JeremyP。
但是,如果您有一个简单的应用程序,我建议保留 1 个窗口,并创建自定义视图(可以在检查器中找到)。
然后,您可以将内容添加到这些自定义视图中,当您想要在它们之间切换时,您可以在应用程序中键入:
[window setContentView: secondCustomView];
然后稍后切换回来:
[window setContentView: firstCustomView];
有关良好的编码实践,请参阅 JeremyP 的回答。只是想我会分享我的 2 美分 :)