2011-07-12 2 views
7

J'ai placé un UISegmentedControl dans mon fichier XIB. Fondamentalement, lorsque le second onglet du contrôle est tapé (aka segment 1, le premier segment est le segment 0), je veux afficher un champ de texte. Je sais comment afficher le champ de texte, mais comment puis-je détecter la partie du contrôle segmenté que l'utilisateur a tapée?Détection du segment tapé d'un UISegmentedControl

[textField setHidden:NO]; 

Répondre

11

Vous devez raccorder l'action valueChanged des contrôles segmetqués dans IB à une méthode de votre contrôleur de vue qui vérifie vos contrôles segmentés selectedSegmentIndex.

3

Vous devez ajouter une cible action pour l'événement de contrôle UIControlEventValueChanged et vérifiez la selectedSegmentIndex du contrôle segmentée.

Si c'est 1, masquer le champ de texte.

21

Créez une IBAction comme celle ci-dessous et connectez-la à l'action valueChanged dans Interface Builder.

- (IBAction)segmentedControlChanged:(id)sender 
{ 
    UISegmentedControl *s = (UISegmentedControl *)sender; 

    if (s.selectedSegmentIndex == 1) 
    { 
     [countTextField setHidden:NO]; 
    } 
} 
Questions connexes