ios - custom - uisegmentedcontrol swift programmatically




Comment changer UIsegmentedControll par programme? (4)

Comment puis-je changer UISegmentedControll programme?


@jmstone response, true, cette action n'appellera pas l'événement valueChanged pour ce contrôle.

Une façon de résoudre ce problème consiste à appeler la fonction vous-même:

segmentedControl.selectedSegmentIndex = 3;
[self valueChangedMethod:segmentedControl];

Cela appellera:

- (void)valueChangedMethod:(UISegmentedControl *)segmentedControl
{
    //continue your code here...
}

En rapide:

segmentedControl.selectedSegmentIndex = 1

Swift 2:

segmentedControl.sendActionsForControlEvents(UIControlEvents.ValueChanged)

Swift 3:

segmentedControl.sendActions(for: UIControlEvents.valueChanged)

La propriété selectedSegmentIndex identifie le segment sélectionné d'un UISegmentedControl. Définissez cette propriété sur n'importe quel index de segment valide ou sur UISegmentedControlNoSegment (-1) pour désactiver la sélection actuelle.

// select the first segment
segmented.selectedSegmentIndex = 0;

// turn off the current selection
segmented.selectedSegmentIndex = UISegmentedControlNoSegment;

Par exemple, après avoir modifié l'appel selectedSegmentIndex 'sendActionsForControlEvents:'

segmentedControl.selectedSegmentIndex = 0

[segmentedControl sendActionsForControlEvents:UIControlEventValueChanged];






uisegmentedcontrol