Comment détecter le changement dans UISegmentedControl d'une IBAction séparée
J'ai un UISegmentedControl
bouton avec trois segments.
Dans ViewController.m
cela fonctionne correctement -- appuyer sur le bouton des feux de la bonne méthode.
J'ai une autre UIButton
que quand il est pressé, il doit d'abord VÉRIFIER l'état de la UISegmentedControl
(à voir sur quelle touche est enfoncée), puis tirer une méthode selon que la valeur de segment.
Voici mon code pour qui séparent UIButton
. Le bouton lui-même est en marche, mais je n'arrive pas à comprendre comment OBTENIR la valeur actuelle du segment de la UISegmentedControl
.
Merci beaucoup pour toute l'aide ici.
Je suis nouveau sur OBJ-C
. Je sais comment le faire dans VisualBasic
, de sorte que les réponses qui sont le plus détaillé à côté serait plus apprécié que j'ai besoin de savoir le "pourquoi". Merci.
- (IBAction)decodeButton:(id)sender {
UISegmentedControl *segment = [UISegmentedControl alloc]; //THIS DOES NOT WORK.
if (segment.selectedSegmentIndex == 0) {
decode(textToDecode);
} else if(segment.selectedSegmentIndex == 1) {
decode1(textToDecode);
} else if(segment.selectedSegmentIndex == 2) {
decode2(textToDecode);
}
}
source d'informationauteur mstace | 2012-12-31
Vous devez vous connecter pour publier un commentaire.
Ici est un Tutoriel à l'aide de UISegmentedControl dans iOS.
Il suffit de Créer un objet de Référence et le fil correctement pour le Propriétaire du Fichier.
Puis définissez la propriété
Synthétiser .m fichier
Vous pouvez maintenant Accéder à l'index sélectionné à tout moment.
Votre code
alloc
chaque foisUISegmentedControl
dans la presse le bouton d'action. Il faut donc utiliser le code suivant poursUISegmentedControl
création et de son action .Vous devez supprimer
UISegmentedControl *segment = [UISegmentedControl alloc] ;
à partir de votre code, comme c'allocations de nouveau instance de votre UISegmentedControl à chaque fois, au lieu de cela,créer un débouché pour vous
UISegmentController
commeet puis plus tard, à tout moment dans votre
viewcontroller.m
fichier, vous pouvez obtenir le actuellement segment sélectionné en utilisantEspère que ce sens,
Ce qui concerne
Ce code signifie que vous êtes la création d'un nouvel Objet sur chaque clic
La chose que vous avez à faire prendre
IBOutlet
(Propriété) de votresegmentedControl
puis je vais travailler pour vous. ne pas créer un nouvel objet dans le bouton de la méthode. lorsque vous allez faire un IBOutlet il sera en lien avec ausegmentControl
et votre code fonctionne que de temps . GrâceEssayez comme ceci