【发布时间】:2017-08-05 00:34:57
【问题描述】:
我对 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。
如何打电话来做到这一点? 谢谢
【问题讨论】:
-
当你
self.stringValue = ""时会发生什么? -
我不知道你想做什么。为什么你甚至需要为 NSSearchField 写一个张力?让 cancelButton = cell?.cancelButtonCell ???
-
@adev 这将清空 searchField 中的 textView
-
@ElTomato 每次显示隐藏视图时,我都需要清空/清除 NSSearchField。目前我找到了这个解决方法,但这不会触发任何事件,我必须手动更新搜索结果。
-
好吧,你说
self.stringValue = ""将是空的。你最后的评论说这也是你想做的。那么这里有什么问题呢?你为什么不单独使用它?为什么你甚至需要在cancelButtonCell上做performClick?
标签: swift macos cocoa swift3 nssearchfield