2009-12-15 6 views
8

J'ai un objet uiTextField sur lequel je valide l'entrée, quand j'ai une entrée invalide, quels sont les moyens appropriés pour montrer que l'entrée est invalide? existe-t-il un mécanisme intégré pour afficher les états d'entrée invalides?UITfusion Validation visuelle

Répondre

12

Il est assez facile d'ajouter une image d'avertissement sur le côté gauche d'un UITextField pour indiquer que le champ a besoin d'une valeur.

Essayez ceci:

UITextField* field = .... your text field ... 

if (fails_validation) { 
    field.leftViewMode = UITextFieldViewModeAlways; 
    UIImageView* imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)]; 
    imageView.image = [UIImage imageNamed:@"warning.png"]; 
    imageView.contentMode = UIViewContentModeScaleAspectFit; 
    field.leftView = imageView; 
} else { 
    field.leftViewMode = UITextFieldViewModeNever; 
    field.leftView = nil; 
} 
+0

si vous préférez avoir sur le droit, utiliser le champ .rightView au lieu de field.leftView. –

+1

où puis-je obtenir warning.png lol? –

+0

https://www.google.com/design/icons/ – Melllvar

1

Jetez un oeil à Gestion Superposition Vues section dans UITextField docs

+0

est Heres un lien pour cela: http://developer.apple.com/library/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/ManageTextFieldTextViews/ManageTextFieldTextViews.html –

0

Mettez une coche à droite de la UITextField quand correcte, Else mettre un X à droite de celui-ci. pour le rendre lisse: le fondu à l'aide d'une animation

6

Les deux meilleures options que j'ai trouvé jusqu'à présent sont TextFieldValidator et US2FormValidator. Avec la mise en garde que j'ai seulement utilisé le premier, voici mon point de vue sur chacun.

TextFieldValidator

  • & uparrow; Simple (juste une classe!)
  • & uparrow; Offre une interface utilisateur par défaut avec une personnalisation supplémentaire possible
  • & uparrow; Gère plusieurs validations sur un seul champ
  • & downarrow; Ne gère pas le texte vues
  • & downarrow; Légèrement maladroit nom ... ValidatedTextField, par exemple, serait plus précis :)

US2FormValidator

  • & uparrow; Gère les champs de texte et vues de texte
  • & uparrow; Importable en tant que framework, y compris le support CocoaPods
  • & uparrow; Gère plusieurs validations sur un seul champ
  • & downarrow; Aucune interface utilisateur par défaut

Si vous avez juste besoin de quelque chose implémenté rapidement, TextFieldValidator peut être tout ce dont vous avez besoin. Si vous devez avez validé UIText Vues, US2FormValidator est le chemin à parcourir.

+0

Salut @clozach, merci pour l'élaboration et les liens. –

Questions connexes