gpt4 book ai didi

swift osx NSSearchField 以编程方式重置

转载 作者:行者123 更新时间:2023-11-30 12:15:07 25 4
gpt4 key购买 nike

我对 swift 还很陌生,我正在尝试以编程方式重置 NSSearchField,但我没有找到正确的方法来执行此操作!目前我正在这样做

import Cocoa

extension NSSearchField {
func reset() {
self.stringValue = ""
let cell = self.cell as? NSSearchFieldCell
let cancelButton = cell?.cancelButtonCell
cancelButton?.performClick(self)
}

}

编辑:我的问题是,在 NSSearchFieldDelegate 中,未调用函数 controlTextDidChange。

如何调用来做到这一点?谢谢

最佳答案

设置您的委托(delegate),否则将不会调用 controlTextDidChange:

您的扩展不是问题。

这是一个例子,

class ViewController: NSViewController, NSSearchFieldDelegate {

// Search Field
@IBOutlet weak var mySearchField: NSSearchField!

override func viewDidLoad() {
super.viewDidLoad()

// Don't forget to set delegate
self.mySearchField.delegate = self

}

// Driver program
@IBAction func onPress(_ sender: Any) {
// clear search field
self.mySearchField.reset()
}

// View output
override func controlTextDidChange(_ obj: Notification) {
print("--");
}
}

extension NSSearchField {

func reset() {
self.stringValue = ""
//let cell = self.cell as? NSSearchFieldCell
//let cancelButton = cell?.cancelButtonCell
//cancelButton?.performClick(self)
}
}

关于swift osx NSSearchField 以编程方式重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45517140/

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