だから私はこのスレッドを少し前に見つけました: 編集開始時に UITextField の背景を変更する
一番上の答えは、ユーザーが編集するときに textField の背景画像を変更するための素晴らしいリソースです。ただし、私の問題は、複数のテキストフィールドでこれを有効にするにはどうすればよいですか?
具体的には(私のアプリの場合)、ログインとパスワードのフィールドがあります。以下に投稿するコードを使用すると、最初のテキスト フィールドを取得して、ユーザーがタップしたときに画像を正しく変更できます。ただし、ユーザーが次のテキスト フィールドまたはキーボードの [次へ] オプションをタップしたときに、次のフィールドがそれに続くようにすることはできません。"textFieldShouldBeginEditing" と end のインスタンスは 1 つしか持てないため、同じセクションの下の両方のフィールドに画像変更のコードを設定する必要があります。ただし、これを行うと、最初のフィールドがタップされると両方のフィールドが変更され、2 番目のフィールドがタップされると両方が復元されます。
この 1 つの優れたコミュニティに関するアイデアはありますか?
ここにいくつかのコードがあります:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
_userNameTextField.background = [UIImage imageNamed:@"login_field_highlighted@2x"];
return YES;
_passwordTextField.background = [UIImage imageNamed:@"password_field_highlighted@2x"];
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
_userNameTextField.background = [UIImage imageNamed:@"login_field@2x"];
return YES;
_passwordTextField.background = [UIImage imageNamed:@"password_field@2x"];
return YES;
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
NSLog(@"textFieldShouldReturn");
if (textField == _userNameTextField) {
[_passwordTextField becomeFirstResponder];
} else if (textField == _passwordTextField) {
[_passwordTextField resignFirstResponder];
}
return YES;
}