2016-02-28 5 views
4

Как проверить правописание NSTextField с помощью swift? Я уже использую controlTextDidChange для проверки текста. This solution, похоже, упоминает о том, что первый ответчик как NSTextView, но я не уверен, что это возможно с быстрым использованием принуждения. Я знаю, что это было бы легче, если бы я перешел на NSTextView, но, если возможно, я бы хотел этого избежать.Правописание в NSTextField с Swift

+0

Так что я помог вам с этим несколько месяцев назад, и теперь кто-то, проходя мимо отправил комментарий, что я не уверен, что я полностью ответил. Не могли бы вы помочь ему, ниже моего ответа? (спасибо!) – owlswipe

+0

Hi @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 с до 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

Эй, поэтому я вернулся к этой проблеме после того, как вы ее нашли, оказалось, что ваше решение работает очень хорошо (просто не тогда, когда вы делаете .becomeFirstResponder в viewDidLoad, по понятным причинам). Спасибо! – glenstorey

Смежные вопросы