Ho creato un metodo personalizzato nella mia classe ViewController, come mostrato di seguito:
- (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;
}
Ora posso chiamare quel metodo all'interno di ( viewDidLoadmetodo) e inviare uno qualsiasi dei miei TextFieldsa quel metodo e aggiungere imbottitura sia per destra che per sinistra e dare colori al testo e allo sfondo scrivendo solo una riga di codice, come segue:
[self modifyTextField:self.firstNameTxtFld];
Funzionava perfettamente su iOS 7! Spero che funzioni ancora anche su iOS 8 e 9!
So che l'aggiunta di troppe visualizzazioni potrebbe rendere questo oggetto un po 'più pesante da caricare. Ma quando ero preoccupato per la difficoltà di altre soluzioni, mi sono trovato più sbilanciato a questo metodo e più flessibile nell'usarlo. ;)
Spero che questa risposta possa essere utile o utile per trovare un'altra soluzione per qualcun altro.
Saluti!