使用 Cocoa 在 Swift 4.0 中以编程方式创建复选框的标准方法是啥?
Posted
技术标签:
【中文标题】使用 Cocoa 在 Swift 4.0 中以编程方式创建复选框的标准方法是啥?【英文标题】:What is the standard way to create a checkbox programmatically in Swift 4.0 using Cocoa?使用 Cocoa 在 Swift 4.0 中以编程方式创建复选框的标准方法是什么? 【发布时间】:2020-07-17 02:54:06 【问题描述】:有人要求我更新现有的 macOS 程序,并获得了一个用 Swift 4.0 编写的 Xcode 项目。该程序使用 Cocoa 以编程方式生成接口。
我之前没有使用过 Swift(或 Xcode)并且对 Cocoa 不熟悉,所以我尝试着去学习它,但是我能够使用以下代码在界面中添加一个按钮:
public lazy var phaseInvertButton: NSButton =
let button = NSButton()
self.addSubview(button)
return button
()
但是,当我尝试使用相同的代码和附加行添加复选框时,
button.setButtonType(NSSwitchButton)
,报错:
'NSSwitchButton' is unavailable in Swift.
我也试过用
public lazy var phaseInvertButton: NSSwitchButton
,但得到了同样的错误。根据 Cocoa 文档,NSSwitchButton 是 NSButton 的子类型,但我似乎无法让它在 Swift 中工作。
谁能告诉我在这种情况下我应该如何以编程方式创建一个复选框?
【问题讨论】:
【参考方案1】:你可以使用:
let button = NSButton(checkboxWithTitle:"Title" target:nil action:nil)
如果你想坚持设置NSButton
的按钮类型,你想要的类型是.switch
:
button.setButtonType(.switch)
【讨论】:
以上是关于使用 Cocoa 在 Swift 4.0 中以编程方式创建复选框的标准方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在 COCOA 中以编程方式获取“GeneratedUID”
Cocoa - 在情节提要中以编程方式呈现 NSViewController LIKE “显示选项”(不是模态)