Je suis d'accord avec St3fan pour dire qu'un TextField normal ne devrait jamais provoquer une action en tapant dessus. Je vais supposer pour le moment que vous avez un UITextField spécial qui peut être rendu non modifiable et qui ressemble alors à un UILabel
formaté pour ressembler à un lien hypertexte. Une telle interface utilisateur pourrait être correcte. Il serait bien sûr incorrect d'appuyer sur un champ de texte qui semble modifiable mais qui, en réalité, passe un appel téléphonique.
Vous pourriez mettre en œuvre la UITextFieldDelegate
protocole et surveiller textFieldShouldBeginEditing:
. Puisque ce champ de texte n'est pas modifiable, vous devez évidemment renvoyer NO.
Vous pouvez ajouter un bouton "appeler" à l'intérieur du champ de texte en utilisant ses vues superposées ( leftView
o rightView
(lisez les documents relatifs à l'UE appropriée pour ceux-ci).
Vous pourriez sous-classer UITextField
pour passer outre touchesBegan:withEvent
, touchesEnded:withEvent:
y touchesCancelled:withEvent:
pour gérer le toucher vous-même. N'oubliez pas : vous devez recevoir un touchesBegan
y touchesEnded
sans un touchesCancelled
entre eux afin de considérer qu'il s'agit d'une touche. Ne déclenchez jamais une action basée uniquement sur touchesBegan
.