다음과 같이 ViewController 클래스에서 사용자 지정 메서드를 만들었습니다.
- (void) modifyTextField:(UITextField *)textField
{
// Prepare the imageView with the required image
uint padding = 10;//padding for iOS7
UIImageView * iconImageView = [[UIImageView alloc] initWithImage:iconImage];
iconImageView.frame = CGRectMake(0 + padding, 0, 16, 16);
// Set the imageView to the left of the given text field.
textField.leftView = iconImageView;
textField.leftViewMode = UITextFieldViewModeAlways;
}
이제 ( viewDidLoad
method) 내부에서 해당 메서드를 호출하고 해당 메서드 에 내 모든 것을 보내고 TextFields
오른쪽과 왼쪽에 패딩을 추가하고 다음과 같이 코드 한 줄만 작성하여 텍스트와 배경색을 지정할 수 있습니다 .
[self modifyTextField:self.firstNameTxtFld];
이것은 iOS 7에서 완벽하게 작동했습니다! 이것이 iOS 8 및 9에서도 여전히 작동하기를 바랍니다!
뷰를 너무 많이 추가하면로드 할 개체가 약간 더 무거워 질 수 있다는 것을 알고 있습니다. 그러나 다른 솔루션의 어려움에 대해 걱정할 때이 방법에 더 편향되어 있고이 방법을 사용하는 것이 더 유연하다는 것을 알게되었습니다. ;)
이 답변이 다른 사람에게 다른 해결책을 찾는 데 도움이되거나 유용하기를 바랍니다.
건배!