Ok, j'ai donc un UILabel
constructeur d'interface créé qui affiche un texte par défaut de "appuyez pour commencer".
Lorsque l'utilisateur appuie sur le UILabel
Je veux qu'il déclenche une méthode IBAction:
-(IBAction)next;
qui met à jour le texte sur l'étiquette pour dire quelque chose de nouveau.
Ce serait vraiment pratique si cela me permettait simplement de faire glisser une connexion de ma méthode vers mon étiquette, puis de sélectionner retouche à l'intérieur, comme avec un bouton. mais hélas, pas de cigare.
alors de toute façon, je suppose que ma question est la suivante: est-ce que je vais devoir faire une sous-classe UILabel
pour que cela fonctionne? Ou y a-t-il un moyen de faire glisser un bouton sur l'étiquette, mais de le rendre opaque à 0%. Ou y a-t-il une solution plus simple qui me manque?
la source
UILabel hérite de UIView qui hérite de UIResponder. Tous les objets UIresponder peuvent gérer les événements tactiles. Donc, dans votre fichier de classe qui connaît votre vue (qui contient le UIlabel) implémentez:
Dans le générateur d'interface, définissez la valeur de la balise UILabel. lorsque des touches se produisent dans votre méthode touchesBegan, vérifiez la valeur de la balise de la vue à laquelle appartient la balise:
Vous connectez votre code dans votre fichier de classe avec l'objet UILabel dans le générateur d'interface en déclarant votre variable d'instance UILabel avec le préfixe IBOutlet:
Ensuite, dans le constructeur d'interface, vous pouvez les connecter.
la source
Vous pouvez utiliser un UIButton, le rendre transparent, c'est-à-dire un type personnalisé sans image, et y ajouter un UILabel (centré). Ensuite, connectez les événements de bouton normaux.
la source
Swift 3
Vous avez un IBOutlet
Dans lequel vous activez l'interaction de l'utilisateur et ajoutez un outil de reconnaissance de gestes
Et enfin, manipulez le robinet
la source