segmented how example control ios iphone uisegmentedcontrol

ios - how - ¿Cómo cambio UIsegmentedControll mediante programación?



swift 4 segmented control example (5)

¿Cómo cambio UISegmentedControll programación?


@jmstone response, true, esta acción no invocará el evento valueChanged para este control.

Una forma de superar esto es simplemente llamar a la función usted mismo:

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

Esto llamará:

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


Alternativamente, después de que haya cambiado la llamada selectadaSegmentIndex ''sendActionsForControlEvents:'' por ejemplo

segmentedControl.selectedSegmentIndex = 0 [segmentedControl sendActionsForControlEvents:UIControlEventValueChanged];


En Swift:

segmentedControl.selectedSegmentIndex = 1

Swift 2:

segmentedControl.sendActionsForControlEvents(UIControlEvents.ValueChanged)

Swift 3:

segmentedControl.sendActions(for: UIControlEvents.valueChanged)


He tenido un problema similar donde el control segmentado no estaba cambiando. Estaba llamando "selectedSegmentIndex", etc. demasiado pronto. Una vez que lo llamé después de que se llamara "viewDidLoad", todo estaba bien de nuevo.


La propiedad selectedSegmentIndex identifica el segmento seleccionado de un UISegmentedControl. Establezca esta propiedad en cualquier índice de segmento válido o UISegmentedControlNoSegment (-1) para desactivar la selección actual.

// select the first segment segmented.selectedSegmentIndex = 0; // turn off the current selection segmented.selectedSegmentIndex = UISegmentedControlNoSegment;