2017-11-17 1 views
0

私はNSViewを開いたときにその上の3番目のNSTextFieldがFirstResponderになってカーソルを設定します。このフォームを開いて入力を開始し、保存ボタンをクリックすると、ビューに文字が含まれていても、コードのNSTextField.stringValueは空です。保存ボタンをクリックする直前にフィールドをクリックすると、stringValueフィールドがコードで使用可能になります。FirstResponderとしてのNSTextFieldには、手動で別の場所をクリックしない限り、stringValueはありません。

私は過去に何が起こっているのか、過去にはうまくいきましたか? 保存時にfirstResponderを辞退し、firstResponderをfirstResponderにするなどの操作をしました。

私の唯一の解決策は、最初のレスポンダーにしてフィールドにクリックして何かを書くことです保存ボタン。

XCodeの9.1(9B55)任意の助け

感謝します。ドキュメントは、これは使用すべきではないと述べている

[self.textfield becomeFirstResponder] 

、正しい方法は次のとおりです:Willeke私は設定方法をコメントで尋ねたと私は私が持っていたことに気づいた最初の応答者を削除したよう

+1

フィールドエディタは、最初の応答者です。どのようにして最初のレスポンダーを設定して削除しますか? – Willeke

答えて

0

は、誤ってそれを設定し

if ([self.textfield acceptsFirstResponder]) 
     [self.textfield.window makeFirstResponder:self.textfield]; 

おかげWilleke!

関連する問題