Nous essayons cela pour les paramètres de mot de passe, de sorte que le curseur ne doit pas être visible par l'utilisateur.Comment cacher le curseur du champ de texte sur l'iPhone lorsque le clavier est actif
Répondre
Essayez de définir the field's secureTextEntry
property à YES
.
effectivement je veux cacher le curseur (le rendre invisible) lors de l'édition du champ de texte .... – darshan
modifier: pour répondre à la question si, en se cachant le curseur se fait plus facile en superposant le UITextField
avec un autre UITextField
, où l'un dos est en fait le premier répondeur, et l'avant on agit au moins recevoir le focus (à l'aide -(void)textFieldDidBeginEditing:(UITextField *)textField
, et passer le focus sur). Dans
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
appliquer le remplacement sur la UITextField
avant exactement, en utilisant quelque chose comme
front.text = [front.text stringByReplacingCharactersInRange:range withString:string];
Vous allez probablement casser copier coller & fonctionnalité de cette façon. Aussi, faites très attention à ce que vous faites dans ces fonctions de délégué. Attendez-vous à l'inattendu.
Ma réponse originale, également applicable:
Je ne sais pas ce que dans ce contexte, la "sécurité avancée" signifierait, mais un coup d'oeil à
change the secure password character in uitextfield
à la ruine l'expérience utilisateur encore plus, et peut-être ajouter plus de «sécurité», vous pouvez:
- désactiver la fonctionnalité de backspace en retournant
NO
si[string length] == 0
- ajouter
1+(arc4rand()%4)
caractères pour chaque caractère saisi (comme on le voit sur certains systèmes de fenêtrage) - ajouter des caractères aléatoires au lieu d'un caractère d'espace réservé constant
mais je dois dire que Je vraiment ne vois pas le point de tout cela.
Vous pouvez utiliser un champ de texte fictif masqué et utiliser le délégué textDidChage pour TextField et utiliser cette valeur pour remplir le champ Valeurs masquées dans le mot de passe réel.
Dans Interface Builder ont un champ de texte factice qui est caché, maintenir un IBOutlet pour que dire
IBOutlet UITextField * passwordField; IBOutlet UItextField * dummyField;
délégué a également établi pour cela et écrire les méthodes délégué suivantes
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString *dummyText = dummyField.text;
NSString *changedText = @"";
if(dummyField == textField)
{
if([string length] == 0)
{
if([dummyText length] <= 1)
{
changedText = @"";
}
else
{
changedText = [NSString stringWithFormat:@"%@",[dummyText substringToIndex:[dummyText length] - 1]];
}
}
else
{
changedText = [NSString stringWithFormat:@"%@%@",dummyText,string];
}
passwordField.text = changedText;
}
return YES; }
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if(passwordField == textField)
{
[dummyField becomeFirstResponder];
return NO;
}
return YES; }
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES; }
J'ai eu ce problème aussi.J'ai utilisé la solution décrite here
Il remplace le UITextField avec un UILabel personnalisé avec les réglages suivants:
- Remplacer les propriétés inputView et inputViewAccessory pour permettre le réglage de la vue du clavier à apparaître lorsque l'étiquette devient la première répondeur.
- Pour que l'étiquette réponde aux événements tactiles, remplacez la méthode isUserInteractionEnabled pour toujours retourner YES. En outre, remplacez la méthode touchEnded pour que l'étiquette soit le premier répondeur lorsqu'un contact est détecté. Remplacer la méthode canBecomeFirstResponder pour toujours retourner YES.
- Cela permettra à la vue d'entrée de monter.
@interface PRLabel : UILabel
@property (strong, nonatomic, readwrite) UIView* inputView;
@property (strong, nonatomic, readwrite) UIView* inputAccessoryView;
@end
@implementation PRLabel
-(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
-(BOOL)isUserInteractionEnabled
{
return YES;
}
-(BOOL)canBecomeFirstResponder
{
return YES;
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[self becomeFirstResponder];
}
@end
- 1. Comment cacher le curseur du champ de texte sur l'iPhone?
- 2. UIModalView Dismisses étranger lorsque le clavier est actif
- 3. Faire défiler une vue lorsque le clavier est actif
- 4. comment cacher le clavier virtuel
- 5. cacher le clavier sur iphone
- 6. La touche de retour du clavier de l'iPhone déplace le curseur sur le champ de texte suivant
- 7. masquer le clavier du champ de texte et afficher datepicker
- 8. comment cacher le clavier de l'iPhone lorsque le défilement est terminé
- 9. Comment se recentrer sur un champ de texte lorsque le focus est perdu sur un formulaire HTML?
- 10. Comment cacher le clavier de l'iPhone? resignFirstResponder ne fonctionne pas
- 11. Rendre un UITextField actif sur le chargement
- 12. désactiver le clavier après avoir entré le texte dans le champ de texte
- 13. Flex Textfield ne prend pas en charge le focus lorsque le curseur est dans le champ de texte de l'iframe
- 14. Comment cacher le champ de texte avec l'étiquette?
- 15. MSAccess'03 VBA - Le contenu de la zone de texte est surligné lorsque le mouvement du curseur est UNdesiré
- 16. déplacer le curseur au début du champ de saisie?
- 17. Comment cacher le clavier logiciel dans WebView?
- 18. afficher/formulaire cacher lorsque le curseur est dans le coin supérieur gauche
- 19. Masquer le clavier lorsque vous touchez uitableview
- 20. cacher le clavier dans Android?
- 21. Comment mettre à jour le span lorsque le texte est entré dans le champ de texte du formulaire avec jquery
- 22. Le curseur personnalisé est recouvert par le curseur ibar vertical sur le composant Texte
- 23. comment résoudre le problème lorsque le clavier est affiché, le clavier cache la barre d'onglet
- 24. Android: comment ajouter un clavier logiciel personnalisé lorsque le champ de formulaire est sélectionné dans WebView
- 25. cacher le clavier virtuel dans Android?
- 26. Curseur de la main en survolant le champ de texte
- 27. curseur se déplace vers le début d'un champ de texte
- 28. Comment puis-je déplacer le curseur sur le clavier à l'écran avec un clavier externe?
- 29. Afficher le clavier logiciel lorsque l'activité démarre en l'absence de champ de texte
- 30. Comment cacher le clavier quand j'appuie sur la touche retour dans un UITextField?
Pourquoi voulez-vous cacher le curseur? Vous devez masquer les caractères, ce qui est fait en définissant secureTextEntry à YES, comme @Peter a répondu. –
J'ai besoin de cacher (rendre invisible) le curseur de l'utilisateur. sa sécurité juste avancée que je voulais mettre en œuvre. – darshan