Eu criei um método personalizado na minha classe ViewController, como mostrado abaixo:
- (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;
}
Agora posso chamar esse método dentro de ( viewDidLoad
método) e enviar qualquer um dos meus TextFields
para esse método e adicionar preenchimento para a direita e para a esquerda e fornecer cores de texto e de fundo escrevendo apenas uma linha de código, da seguinte maneira:
[self modifyTextField:self.firstNameTxtFld];
Funcionou perfeitamente no iOS 7! Espero que isso ainda funcione no iOS 8 e 9 também!
Eu sei que adicionar muitas visualizações pode tornar este objeto um pouco mais pesado para ser carregado. Mas, quando preocupado com a dificuldade em outras soluções, me vi mais inclinado a este método e mais flexível em usar desta forma. ;)
Espero que esta resposta possa ser útil ou útil para descobrir outra solução para outra pessoa.
Felicidades!