NSButton 状态不变
NSButton state not changing
以下代码在我的沙箱中运行完美:
@IBAction func filterClicked(sender: NSButton) {
println(sender.state)
if let clickEvent = NSApp.currentEvent! {
if Int(clickEvent.modifierFlags.rawValue) & Int(NSEventModifierFlags.ControlKeyMask.rawValue) != 0 {
if sender.state == NSOffState {
sender.state == NSOnState
}
}
}
println(sender.state)
}
连接的按钮是一个开关按钮。所以当它打开时,我按住 Ctrl 并单击它,它将保持打开状态。
不幸的是,在我真正需要它的应用程序中它不起作用。我检查了在沙盒和产品应用程序中,bindings/settings 对两个按钮都是相同的。调试器显示
sender.state == NSOnState
根本就没有执行。 state
保持 NSOffState
。啃我的键盘没有帮助。有什么想法吗?
您没有为按钮状态分配任何值。
sender.state = NSOnState
更新 Swift 4.2
sender.state = NSControl.StateValue.on
我知道这已经有一个可接受的答案,但分享我的场景以防它绊倒其他人:
我遇到了同样的问题,无法以编程方式在自定义 table 视图单元格中设置按钮的状态。我的问题是,当我的 table 第一次创建单元格时,我试图设置状态。相反,我必须确保覆盖自定义单元格中的布局方法并在那里设置状态。
正在更改 swift 4 的单选按钮的状态(检查状态):
@IBOutlet weak var checkedButton: NSButton!
checkedButton.state = NSControl.StateValue.off // State = off
checkedButton.state = NSControl.StateValue.on // State = on
我在 CollectionViewItem 中有这个...
我有一个 favouriteButton 插座...
class PictureCollectionViewItem: XCollectionViewItem
{
@IBOutlet var thumbnailView: NSImageView!
@IBOutlet var tagsView: NSTextField!
@IBOutlet var favouriteButton: NSButton!
...
}
我已将出口链接到 Collection View Item 对象
但未将其链接到文件所有者...
一旦我将它也链接到文件所有者,......一切都有效。
以下代码在我的沙箱中运行完美:
@IBAction func filterClicked(sender: NSButton) {
println(sender.state)
if let clickEvent = NSApp.currentEvent! {
if Int(clickEvent.modifierFlags.rawValue) & Int(NSEventModifierFlags.ControlKeyMask.rawValue) != 0 {
if sender.state == NSOffState {
sender.state == NSOnState
}
}
}
println(sender.state)
}
连接的按钮是一个开关按钮。所以当它打开时,我按住 Ctrl 并单击它,它将保持打开状态。
不幸的是,在我真正需要它的应用程序中它不起作用。我检查了在沙盒和产品应用程序中,bindings/settings 对两个按钮都是相同的。调试器显示
sender.state == NSOnState
根本就没有执行。 state
保持 NSOffState
。啃我的键盘没有帮助。有什么想法吗?
您没有为按钮状态分配任何值。
sender.state = NSOnState
更新 Swift 4.2
sender.state = NSControl.StateValue.on
我知道这已经有一个可接受的答案,但分享我的场景以防它绊倒其他人:
我遇到了同样的问题,无法以编程方式在自定义 table 视图单元格中设置按钮的状态。我的问题是,当我的 table 第一次创建单元格时,我试图设置状态。相反,我必须确保覆盖自定义单元格中的布局方法并在那里设置状态。
正在更改 swift 4 的单选按钮的状态(检查状态):
@IBOutlet weak var checkedButton: NSButton!
checkedButton.state = NSControl.StateValue.off // State = off
checkedButton.state = NSControl.StateValue.on // State = on
我在 CollectionViewItem 中有这个... 我有一个 favouriteButton 插座...
class PictureCollectionViewItem: XCollectionViewItem
{
@IBOutlet var thumbnailView: NSImageView!
@IBOutlet var tagsView: NSTextField!
@IBOutlet var favouriteButton: NSButton!
...
}
我已将出口链接到 Collection View Item 对象
但未将其链接到文件所有者...
一旦我将它也链接到文件所有者,......一切都有效。