J'ai créé une méthode personnalisée dans ma classe ViewController, comme indiqué ci-dessous:
- (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;
}
Maintenant, je peux appeler cette méthode à l'intérieur de ( viewDidLoad
méthode) et envoyer n'importe lequel de mes TextFields
à cette méthode et ajouter un remplissage pour la droite et la gauche, et donner des couleurs de texte et d'arrière-plan en écrivant une seule ligne de code, comme suit:
[self modifyTextField:self.firstNameTxtFld];
Cela a parfaitement fonctionné sur iOS 7! J'espère que cela fonctionne toujours sur iOS 8 et 9 aussi!
Je sais que l'ajout de trop de vues peut rendre cet objet un peu plus lourd à charger. Mais lorsque je suis préoccupé par la difficulté des autres solutions, je me suis retrouvé plus partisan de cette méthode et plus flexible dans son utilisation. ;)
J'espère que cette réponse pourra être utile ou utile pour trouver une autre solution à quelqu'un d'autre.
À votre santé!