如何在 Interface Builder 中创建 NSToggleButton?

Posted

技术标签:

【中文标题】如何在 Interface Builder 中创建 NSToggleButton?【英文标题】:How do I create a NSToggleButton in Interface Builder? 【发布时间】:2012-12-14 19:07:30 【问题描述】:

我想制作一个 NSToggleButton,因为它非常适合我的需求:打开时显示一张图像,关闭时显示另一张图像。

来自 Apple 的开发者网站:

“第一次单击后,按钮显示其备用图像或标题;第二次单击使按钮返回其正常状态。 此选项在 Interface Builder 的 Button Inspector 中称为“Toggle”。 在 OS X v10.0 及更高版本中可用。” - Source

但是,当查看我在 Interface Builder 中创建的圆形矩形按钮时,我找不到“切换”属性。我的 google 和 *** 搜索只产生有关控件属性的问题,但我还没有找到专门用于创建此按钮的教程。

它在对象库中的什么位置?

【问题讨论】:

【参考方案1】:

您提供的源代码用于 OSX 编程。不是 ios,但是这可以自己实现。 UIButton 只是一个 UIView,所以添加一个 UIImageView 作为子视图,然后在单击按钮时将 hidden 设置为 YES 或 NO

【讨论】:

不确定是否在 IB 中实现这一点,这可能是可能的,但我不太使用 IB。如果您愿意,我可以向您展示如何以编程方式进行操作。 我可以挖掘它。感谢您为 iOS 添加可能的等效实现!【参考方案2】:

NSToggleButton 是一个 AppKit 类——仅适用于 MacOS X。如果您正在构建 iOS 应用程序,您将找不到它。 Foundation 框架中的类具有 NS 前缀,并且在 iOS 中可用(NSArray、NSDictionary 等),但 iOS 中的用户界面类在 UIKit 中并具有 UI 前缀。查看UISwitch 了解类似功能。

【讨论】:

这解释了为什么我的搜索没有结果。感谢您的回复! 我看到您已经编辑了您的回复,所以我也想跟进更改:UISwitch 在功能方面听起来与我正在寻找的完全一样,但它不提供不幸的是,更改图像以表示开关状态。不过,谢谢你提出来!

以上是关于如何在 Interface Builder 中创建 NSToggleButton?的主要内容,如果未能解决你的问题,请参考以下文章

如何在具有自动布局的 Interface Builder 中创建的现有视图中添加视图?

无法关闭在 Interface Builder 中创建的 NSView 实例的剪辑

iOS 开发 - 如何使用自定义 Table View Controller 显示在 Interface Builder 中创建的静态单元格?

在 Interface Builder 中显示在代码中创建的 UIButton

难以访问在 Interface Builder .xib 文件中创建的 UITableViewCell

通过 monotouch 绑定在 Interface Builder 中创建为 UIView 的自定义控件