ユーザーがフィールドにテキストを入力したかどうかに応じて、UIReturnKeyGoボタンとUIReturnKeyNextボタンを切り替えようとしていますが、期待どおりに機能していません。これが私がやっていることです。
次のメソッドを作成しました:
- (void)setReturnKey {
if (self.isLoggingIn) {
if ([self.userField.text length] > 0 ||
[self.passField.text length] > 0) {
self.userField.returnKeyType = UIReturnKeyGo;
self.passField.returnKeyType = UIReturnKeyGo;
} else {
self.userField.returnKeyType = UIReturnKeyNext;
self.passField.returnKeyType = UIReturnKeyNext;
}
}
}
次に、上記のメソッドをフィールドがアクティブになるたびに実行されるtextFieldDidBeginEditingデリゲートメソッドに追加し、テキストが入力または削除されるたびに実行されるtextFieldDidChangeメソッドを作成しました。残念ながら、これは私が望んでいたように機能していません。移動ボタンは、両方のフィールドに入力して別のフィールドをアクティブにクリックしたときにのみ表示され、入力を開始しても更新されません。ユーザー名を入力してから、[次へ]をクリックしてパスワードの入力を開始できますが、パスワードの入力を開始しても[移動]ボタンは表示されず、ユーザーフィールドをもう一度クリックした場合にのみ表示されます。
ここで私が間違っていることや、これを達成するためのより良い方法があるかどうか、何か考えはありますか?
これは悪い考えです。ユーザーを混乱させるだけです。 [ユーザー]フィールドを[次へ]、[パス]フィールドを[続行]のままにします。