Entrez une vue UIImageView à droite dans un UITextField
J'ai une cible d'action que lorsqu'un bouton est enfoncé, je valide la UITextFields:
//Get the text from the UITextField
NSString *nameStr = _name.text;
_name.rightView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"error.png"]];
[self.view addSubview:_name];
if (nameStr.length == 0)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Name"
message:@"You must enter a name."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
Mon UITextFields sont ajoutés à la vue dans le viewDidLoad:
[self.view addSubview:_name];
Comment puis-je faire un rightview UIImageView apparaissent?
source d'informationauteur cdub | 2013-10-08
Vous devez vous connecter pour publier un commentaire.
Êtes-vous sûr de ne manquant pas de le
UITextField
cadre ? Et êtes-vous au réglage de larightViewMode
?C'est un exemple que je viens d'écrire semble fonctionner correctement.
Ici est la tique image comme résultat :
Vous devez définir
rightViewMode
de la Textfield car La valeur par défaut de cette propriété est UITextFieldViewModeNever.donc, Vous devez régler le Mode de la suite,
Solution rapide 3:
Dans Swift 3.Pour afficher une image avant le texte de l'espace réservé dans UITextField
À la Fonction d'appel
Si vous avez deux ou plusieurs champ ensuite, essayez ce code! son travail pour moi.
Faire vérifier 2 choses
Solution avec @IBDesignable et Swift 3
Tout d'abord, vous pouvez créer @IBDesignable pour UITextField comme ça.
Note: Vous devez écrire obtenir et ensemble points pour @IBInspactable bloc parce que Swift a avertir d'appliquer les méthodes getter et setter ensemble. Nous n'avons pas besoin d'utiliser l'instruction get, donc renvoyées chaîne vide. Aussi le nom de l'attribut inclure le Bouton, mais pas les confondre, c'est une erreur.
Puis cliquez sur le UITextField sur Storyboard et donner la spesific nom de l'image à la setAButtonImageName attribut.
Alors vous obtiendrez le résultat suivant
L'autre situation est la créer rightView avec semble a marge de droite
Voici la capture d'écran.
Vous pouvez utiliser un UIView comme conteneur que pouvez ajouter la UIImageView dans le présent UIView. Ici, vous devez calculer la marge de droiteconteneur vue largeur et UIImageViews' de largeur.