을위한 시작 : Change UITextField background when editing begins변경의 UITextField 배경은 그래서 얼마 전에이 스레드를 발견 여러 필드
상단 대답은 사용자가이를 편집 할 때에 textField의 배경 이미지를 변경하기위한 훌륭한 자원이다. 그러나, 내 문제는 어떻게 여러 텍스트 필드를 사용하여 이것을 사용할 수 있습니까?
특히 (내 앱의 경우) 로그인 및 비밀번호 입력란이 있습니다. 아래에 게시 할 코드를 사용하면 사용자가 처음 터치 할 때 이미지를 올바르게 변경하는 첫 번째 텍스트 필드를 얻을 수 있습니다. 그러나 사용자가 다음 텍스트 필드 나 키보드의 "다음"옵션을 누르면 다음 필드를 찾을 수 없습니다. "textFieldShouldBeginEditing"과 "ending"인스턴스를 하나만 가질 수 있으므로 같은 섹션 아래의 두 필드에 대한 이미지 변경 코드를 설정해야합니다. 그러나이 작업을 수행하면 첫 번째 입력란을 두드 리면 내 입력란이 변경되고 두 번째 입력란을 탭하면 두 입력란이 모두 복원됩니다.
이 훌륭한 커뮤니티에 대한 의견이 있으십니까? 당신은 당신이 textFieldShouldReturn에 그랬던 것처럼, 대상이되는 텍스트 필드 확인해야합니다, 그 각각의 방법에
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
_userNameTextField.background = [UIImage imageNamed:@"[email protected]"];
return YES;
_passwordTextField.background = [UIImage imageNamed:@"[email protected]"];
return YES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
_userNameTextField.background = [UIImage imageNamed:@"[email protected]"];
return YES;
_passwordTextField.background = [UIImage imageNamed:@"[email protected]"];
return YES;
}
- (BOOL) textFieldShouldReturn:(UITextField *)textField {
NSLog(@"textFieldShouldReturn");
if (textField == _userNameTextField) {
[_passwordTextField becomeFirstResponder];
} else if (textField == _passwordTextField) {
[_passwordTextField resignFirstResponder];
}
return YES;
}