用Swift在NSTextField中检查拼写

4
如何使用 Swift 检查 NSTextField 的拼写?我已经在使用 controlTextDidChange 来验证文本。这个解决方案似乎提到将第一响应者转换为 NSTextView,但是我不确定是否可以使用强制转换在 swift 中实现。如果可能的话,我希望避免更改为 NSTextView。此外,该解决方案中保留了 HTML 标签。

所以几个月前我曾经帮助您解决了这个问题,现在有位路过的人发表了一条评论,我不确定我是否完全回答了他的问题。您可以在我的回答下面帮助他吗?(谢谢!) - owlswipe
嗨@JohnRamos - 没问题! - glenstorey
谢谢!非常感谢。 - owlswipe
1个回答

2
这应该会对你有所帮助。
// Focus TextField
phraseTextField.becomeFirstResponder()
// Enable Continous Spelling
let textView: NSTextView = (self.window!.firstResponder as! NSTextView)
textView.continuousSpellCheckingEnabled = true

来源: 如何在Mac OS X上启用NSTextField中的拼写检查?


在其他情况下,将NSTextField更改为NSTextView可能会更有效。只需使用“文本视图”(在对象库中搜索NSTextView),默认情况下就会启用拼写检查。据我所知,NSTextFields在某些情况下不支持拼写检查。

还请参阅:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTextView_Class/#//apple_ref/doc/uid/20000373-SW55


我认为这种方法在大多数情况下都可以工作,但是为了增加情况的复杂性,它是一个没有菜单的NSStatusBar应用程序。因此,在我的情况下,上面的代码会使应用程序挂起。 - glenstorey
@glenstorey 我修改了我的答案,如果有帮助请告诉我! - owlswipe
嘿 - 经过谷歌搜索后,我回到了这个问题,结果发现你的解决方案非常好(只是现在在viewDidLoad中执行.becomeFirstResponder时不起作用,显而易见的原因)。非常感谢! - glenstorey
@glenstorey 很高兴我能帮到你! - owlswipe
@Adam 我更擅长iOS开发,但我猜这个功能应该放在一个委托函数中,当文本框成为第一响应者时调用。在iOS Swift中,这将是func textFieldDidBeginEditing(textField: UITextField)。这篇文章可能对OSX有帮助:http://stackoverflow.com/questions/28807742/nstextfield-gotfocus-event-cocoa-swift 另外,让我咨询一下glenstorey,他会知道的:D。 - owlswipe
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接