gpt4 book ai didi

swift - 允许混合状态但不允许点击 NSButton(复选框)

转载 作者:可可西里 更新时间:2023-11-01 01:09:03 26 4
gpt4 key购买 nike

我有一个以编程方式设置的复选框 (NSButton)。此复选框将设置为其他onoffmixed,但当用户单击它时我希望它仅循环onoff 之间。

目前,当 button.allowsMixedState = true 用户点击复选框时,它将在所有三种状态之间循环。

有没有一种方法可以让 button.allowsMixedState = true 但只有在单击时复选框在 onoff 之间循环?

最佳答案

通过子类化 NSButtonCell 而不是 NSButton 并覆盖它的 nextState 属性,我终于能够让它工作:

(这个例子是用 Swift 4 运行的)

// 0 is .off, 1 is .on and -1 is .mixed.
// We override nextState so that it can never be -1.
class MyButtonCell: NSButtonCell {
override var nextState: Int {
get {
return self.state == .on ? 0 : 1
}
}
}

这意味着我可以将复选框的状态设置为mixed,但是当用户单击它时,复选框只会在onoff 之间循环.

关于swift - 允许混合状态但不允许点击 NSButton(复选框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49668571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com