Question

J'ai un problème. Je l'ai mis en place un UITextField qui contient un numéro de téléphone, alors je l'ai mis en œuvre la méthode suivante pour appeler le numéro de téléphone:

- (void)rufeAn{
NSString *prefix = (@"tel://");
UIApplication *app = [UIApplication sharedApplication];
NSString *dialThis = [NSString stringWithFormat:@"%@%@", prefix, map.kordinate.telefon];
NSURL *url = [NSURL URLWithString:dialThis];
[app openURL:url];

}

Mais comment puis-je dire au textField quand je touche sur elle, pour commencer la méthode et le cadran?

Était-ce utile?

La solution

Je suis d'accord avec St3fan qu'une TextField normale ne doit jamais provoquer une action en appuyant sur. Je suppose pour le moment que vous avez un UITextField spécial qui peut être fait et non modifiable ressemble alors à un UILabel, formaté pour ressembler à un lien hypertexte. Une telle interface pourrait être correcte. En tapant un champ de texte qui ressemble à c'est modifiable, mais fait en fait un appel téléphonique serait bien sûr incorrect.

Vous pouvez mettre en œuvre le protocole UITextFieldDelegate et surveiller textFieldShouldBeginEditing:. Étant donné que ce champ de texte n'est pas modifiable, il est évident que vous devez retourner NO.

Vous pouvez ajouter un bouton « appeler » à l'intérieur du champ de texte à l'aide de ses vues de recouvrement (leftView ou rightView, lisez la documentation sur l'UE correct pour ces)

.

Vous pouvez sous-classe UITextField pour passer outre touchesBegan:withEvent, touchesEnded:withEvent: et touchesCancelled:withEvent: pour gérer le contact vous. Rappelez-vous: vous devez recevoir un touchesBegan et touchesEnded sans touchesCancelled entre eux afin d'examiner une touche. Ne jamais tirer une action basée uniquement sur touchesBegan.

Autres conseils

En tapant un champ de texte ne devrait jamais donner lieu à une action. À mon avis, c'est une mauvaise conception de l'interface utilisateur. Pourquoi avez-vous pas ajouter un bouton à côté du champ qui exécute le code ci-dessus?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top