2017-04-07 7 views
0

ユーザーがtextFieldをクリックすると、別の画面に送信されます(編集を使用して開始)ので、彼は彼が望むオプションを選択できます(私は、UITextFieldの編集が一度だけ開始されました

質問は、彼が望むオプションを選択すると、私はこのビューをポップし、(デリゲートを使用して)textField画面に値を送り返します。

今私はtextField.resignFirstResponder()をしようとしましたが、これは機能しません。なぜなら、textFieldはまだ選択されているので、アクションはループに入ります。 textField.isDisableを使用できますが、ユーザーは値を変更できません。

私は、単純なテキストフィールドのアクションで

if(textField.text != "") 
{ 
return 
} 

を置くことによってこの問題を解決することができます。しかし、これはソリューションからは遠く離れています。そのことは、漏れの際のバンドエイドのようなものです。

また、コード内に上記のような文字列があるので、ユーザーがtextFieldを再度選択した場合、テキスト全体を削除しない限り、選択画面には移動しません。

どうすればこの問題を解決できますか? resignFirstResponder以降は動作しません。私はそれを間違っているかもしれない?

+1

あなたは 'view.endEditing(真)'代わりに使用しようとしました、あなたのテキストフィールドのデリゲートを設定してください? –

+0

完全なアプリを実際に見て解決策を提供できるように、プロジェクトコード(またはサンプルプロジェクト)を提供できますか? – Fahim

+1

@Gusfat、あなたのテキストフィールドのデリゲートコントロールを確認してください –

答えて

1

textFieldName.delegate = self 
関連する問題