J'ai une étiquette de NstextField et je veux que quelque chose se produise lorsqu'un utilisateur clique sur elle.
Je pensais pouvoir créer une ibaction et lier ceci à l'étiquette, mais rien ne semble se produire. P>
Toute suggestion? P>
Intentions: strong> P> La raison pour laquelle je le fais, c'est parce que je veux une étiquette qui est un lien hypertexte vers un dossier. Peut-être que je prends la mauvaise approche tout à fait? P> ibaction Définition dans ma personneController.m strong> p> fichier xib strong> p> dans le fichier XIB, j'ai fait une connexion reçu code> entre Seunamélabelselected code> et le statextext code> nstextField Label . p> p>
3 Réponses :
Les étiquettes sont des champs de texte non modifiables, n'envoient donc pas d'actions à leurs objectifs. Vous souhaitez utiliser un NSBUTTON et désactiver son dessin frontalier et sa taille pour adapter le texte le mieux possible pour simuler une étiquette. P>
Bonne suggestion! En fin de compte, j'essaie de créer un champ de liens hypertexte et je pensais que je pourrais modifier le style de l'étiquette pour ressembler à un lien hypertexte. Votre suggestion est-elle toujours la bonne voie d'action?
Malheureusement, la création d'un lien hypertexte réaliste dans un champ de texte est un peu plus impliqué que de définir un attribut de liaison. Je vous recommande de consulter DSCLICKABLEURLTEXTFIELD pour référence.
Cela ne fonctionne pas bien aujourd'hui. Nsbuttons aiment dessiner leur propre arrière-plan et changer leurs couleurs en fonction de leur type. Il n'y a pas de type de bouton intégré et de combinaison d'options pour éliminer ce problème.
Vous avez quelques options. La réponse de Francis est une option. Une autre option est de sous-classe NStextfield et de remplacement si NStextfield est plus proche de l'apparence dont vous avez besoin, cela pourrait être la meilleure approche. Si vous avez besoin des fonctionnalités de Nsbutton (surbrillance sur le clic, etc.), accédez à la solution de Francis. P> P> -Mousedown: code>. Quelque chose comme ça (écrit le sommet de ma tête, non testé):
En fait, j'ai modifié dsclickableurltextfield mentionné ci-dessus pour déclencher l'action exactement comme vous le suggérez s'il n'y a pas d'URL à ouvrir dans la zone que l'utilisateur a cliqué. Changement simple, merci pour une idée.
Cela fonctionne parfaitement, sauf peut-être pour la mise à jour du curseur, mais c'est facile à travailler autour de
Pouvons-nous vérifier quel mot tapa tsextfield
Une autre option consiste à créer un bouton transparent (sans titre / orientation / bordure, poussée momentanée dans) devant l'étiquette, avec le même cadre que celui de l'étiquette. Et définir l'action du bouton en conséquence. P>