2016-02-28 97 views
4

如何使用swift检查NSTextField的拼写?我已经在使用controlTextDidChange来验证文本。 This solution似乎提到第一响应者作为NSTextView,但我不确定这是可能的迅速使用强制。我知道如果我更改为NSTextView,这会更容易,但如果可能,我想避免这种情况。使用Swift在NSTextField中拼写检查

+0

所以我在几个月前帮你出这一点,而现在有人路过发布的评论,我不知道我回答完全。你能帮他解决问题吗? (谢谢!) – owlswipe

+0

嗨@JohnRamos - 没问题! – glenstorey

+0

谢谢!非常感激。 – owlswipe

回答

1

这应该会帮助你。

// Focus TextField 
phraseTextField.becomeFirstResponder() 
// Enable Continous Spelling 
let textView: NSTextView = (self.window!.firstResponder as! NSTextView) 
textView.continuousSpellCheckingEnabled = true 

摘自:How do I enable spell checking within an NSTextField on Mac OS X?


在其他情况下,它可能只是更好地工作,以改变NSTextField s到NSTextView秒。只需使用“文本视图”(在对象库中搜索NSTextView),拼写检查将默认打开。尽我所知,NSTextFields在某些情况下根本不支持拼写检查。

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

+0

我认为这种方法在大多数情况下都能正常工作,但为了增加复杂性,它是NSStatusBar应用程序 - 没有菜单。所以在我的情况下,上面的代码只是挂起了应用程序。 – glenstorey

+0

@glenstorey我修改了我的答案,让我知道它是否有帮助! – owlswipe

+0

嘿 - 所以我在Google搜索后回到了这个问题,结果证明你的解决方案工作得很好(当你在viewDidLoad中完成.becomeFirstResponder的时候,现在是显而易见的原因)。非常感谢! – glenstorey