xcode - 如何将 UI 元素连接到 IBOutlets 和 IBActions?

标签 xcode user-interface interface-builder xcode5 uielement

我正在尝试使用辅助编辑器将窗口中的 UI 元素连接到我的应用程序的 Controller /代理,但是从 UI 元素拖动到界面文件时没有创建新 IBOutlet/IBAction 的选项。

窗口的文件所有者是 NSWindow,它不是我的主菜单(它是 NSStatusItem 上的 NSMenu,如果有帮助的话)。主菜单的 UI 元素运行良好。当我的应用程序运行时,窗口会按预期打开,所有 UI 元素都已就位,但由于我无法连接它们,它们不会调用任何方法,也不会更改。

从界面文件拖动到 UI 元素(即使单击鼠标右键)或拖动到连接检查器或其他方式时,不会建立连接。我也尝试过常规拖动和控制拖动。

如何将 UI 元素连接到它的 IBOutlet(以编程方式更改状态)和 IBAction(用于接收用户的状态更改)?我没有正确选择 UI 元素吗?我需要拖到不同的地方吗?

在 Connections Inspector 上,我应该从哪里拖动到哪里?

有没有其他可行的连接方式? 还有其他我可以尝试的事情吗?

Example of no new connection being made

编辑:当我控制拖动到一个已经存在的导出时,它让我可以选择进行绑定(bind)。

EDIT2:经过进一步的故障排除,我发现这适用于所有 UI 元素,而不仅仅是复选框。

最佳答案

您需要将您的导出连接到文件的所有者才能工作。

关于xcode - 如何将 UI 元素连接到 IBOutlets 和 IBActions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966044/

相关文章:

ios - 通过 Interface Builder 为所有 View Controller 设置默认全局背景颜色

java - 触发事件时面板从 Box 中消失

c# - 我可以回到线程执行上下文吗?

ios - Interface Builder 中的 "User Defined Runtime Attributes"是什么?

Xcode 4 - IB - 均匀分布控件?

ios - 强制类文件包含方法而不添加协议(protocol)的Objective-C方式或编译器指令?

swift - Xcode 11 Swift 5 CryptoKit 共享 SymmetricKey

c - 如何使用 Xcode 编译 C 程序,以便在沙箱中使用二进制文件?

android - Qt 中的 GUI 或 Android 中的 GUI

ios - Xcode 6.3 : Could not load NIB in bundle