Question

, en fait, le titre contient ma question. J'ai un UISegmentedControl, et la nécessité de désactiver l'onglet sélectionné. J'ai essayé:

[menu setSelectedSegmentIndex:-1];

Menu étant le UBOutlet pour uisegmentedcontrol mais cela me donne exception. Quelqu'un at-il une idée? Merci Peter

Était-ce utile?

La solution

Je suppose que vous avez appelé [myArray length] au lieu du [myArray count] approprié quelque part dans votre code. NSArray utilise la méthode de comptage, non pas la longueur pour le nombre d'éléments qu'elle contient.

Autres conseils

La bonne façon de faire est:

[menu setSelectedSegmentIndex:UISegmentedControlNoSegment];

Je suppose que vous essayez de créer une sélection momentanée dans le contrôle segmentée. Dans l'ensemble d'interface constructeur le segmentedcontrol à action momentanée. Ou dans le code que vous pouvez faire:

menu.momentary = YES;

Réglage de la segmentedControl à .momentary = YES modifie la façon dont l'utilisateur peut interagir avec le segmentedControl. Si vous voulez avoir rien sélectionné au départ lorsque la page se charge mais ont segmentedControl comportent de la même après une sélection faite par l'utilisateur alors vous voulez faire quelque chose comme:

Swift solution 4 :

 @IBOutlet weak var segmentedControl: UISegmentedControl!

 self.segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment

Vous pouvez maintenant le faire dans Xcode 6 dans le générateur d'interface:

Deselect the 'Selected' option under segmented control behaviour in attributes inspector.

La solution Swift:. @IBOutlet weak var mySegmentedControl: UISegmentedControl! et mySegmentedControl.selectedSegmentIndex = -1

rapide 4

@IBOutlet weak var segmentControl: UISegmentedControl! {
    didSet {
        segmentControl.selectedSegmentIndex = UISegmentedControl.noSegment
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top