在Swift 4.0中使用Cocoa以编程方式创建复选框的标准方法是什么



我被要求更新现有的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中使用它。

有人能告诉我在这种情况下应该如何以编程方式创建复选框吗?

您可以使用:

let button = NSButton(checkboxWithTitle:"Title" target:nil action:nil)

如果你想坚持设置NSButton的按钮类型,你想要的类型是.switch:

button.setButtonType(.switch)

相关内容

  • 没有找到相关文章

最新更新