我使用NSTokenField,但指定的延迟后未显示带有建议的小狗
我这样尝试过:
class ViewController: NSViewController
{ @IBOutlet weak var tokenFiled: NSTokenField!
override func viewDidLoad()
{ super.viewDidLoad()
tokenFiled.delegate = self
tokenFiled.tokenStyle = .default
tokenFiled.completionDelay = 0.25
}
override var representedObject: Any?
{ didSet { } }
}
extension ViewController: NSTokenFieldDelegate, NSTokenFieldCellDelegate
{
func tokenFieldCell(_ tokenFieldCell: NSTokenFieldCell, completionsForSubstring substring: String, indexOfToken tokenIndex: Int, indexOfSelectedItem selectedIndex: UnsafeMutablePointer<Int>) -> [Any]
{
let names = ["Name1", "Name 2", "Name3"]
return names
}
}
任何想法,我在做什么错?
知道了,
我使用了错误的委托方法。
func tokenFieldCell(_ tokenFieldCell: NSTokenFieldCell, completionsForSubstring substring: String, indexOfToken tokenIndex: Int, indexOfSelectedItem selectedIndex: UnsafeMutablePointer<Int>) -> [Any]
代替:
func tokenField(_ tokenField: NSTokenField, completionsForSubstring substring: String, indexOfToken tokenIndex: Int, indexOfSelectedItem selectedIndex: UnsafeMutablePointer<Int>?) -> [Any]?
现在工作正常
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句