Tôi đã tạo một phương thức tùy chỉnh trong lớp ViewController của mình, như được hiển thị bên dưới:
- (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;
}
Bây giờ tôi có thể gọi phương thức đó bên trong ( viewDidLoad
phương thức) và gửi bất kỳ phương thức nào của tôi TextFields
tới phương thức đó và thêm phần đệm cho cả bên phải và bên trái, đồng thời cung cấp cho văn bản và màu nền bằng cách viết chỉ một dòng mã, như sau:
[self modifyTextField:self.firstNameTxtFld];
Điều này hoạt động hoàn hảo trên iOS 7! Hy vọng tính năng này vẫn hoạt động trên iOS 8 và 9!
Tôi biết rằng việc thêm quá nhiều Chế độ xem có thể làm cho đối tượng này nặng hơn một chút để được tải. Nhưng khi lo ngại về khó khăn trong các giải pháp khác, tôi thấy mình thiên về phương pháp này hơn và linh hoạt hơn khi sử dụng cách này. ;)
Hy vọng câu trả lời này có thể hữu ích hoặc hữu ích để tìm ra giải pháp khác cho người khác.
Chúc mừng!