Tengo cuatro segmentos en mi UISegmentedControl. Estoy tratando de establecer mediante programación el estado seleccionado del tercer y cuarto segmentos al mismo tiempo si el usuario ha seleccionado el primer segmento.

Ejemplo: En un determinado segmentado de control, si el usuario ha seleccionado el segmento a, entonces C, D debe ser seleccionado.

Me miró a Apple métodos pero no encontré ninguno que coincida con mi requisito. Estoy buscando un método que se vería-

Cualquier ayuda es muy apreciada.


-(void) setSelected: (BOOL) seleccionado forSegmentAtIndex: (NSUInteger) segmento

Parámetros

habilitado

SÍ para seleccionar el segmento específico o NO para anular la selección del segmento. De forma predeterminada, los segmentos que no están seleccionadas.

segmento

Un número de índice de la identificación de un segmento en el control. Debe ser un número entre 0 y el número de segmentos (numberOfSegments) menos 1; los valores que excedan este rango superior están anclados a él.


OriginalEl autor Revanth | 2014-05-03

6 Comentarios

  1. 6

    Uso setSelectedSegmentIndex como así

    [mySegmentControl setSelectedSegmentIndex:index]
    hola – he intentado esto al principio, pero la setSelectedSegmentIndex: mensaje sólo se selecciona un segmento a la vez. Me gustaría seleccione c,d a la vez si el usuario selecciona un segmento.
    Su elección, el control no es adecuado para sus necesidades. Como se ha sugerido, usted debe buscar en la construcción de su propio control para satisfacer sus necesidades.

    OriginalEl autor indyfromoz

  2. 4

    Este código es para swift 2.0

    //Declare outlet for our segmented control
    @IBOutlet weak var segmentcontroll: UISegmentedControl!
    
    //Declare our IBAction for the segmented control
    @IBAction func segmentneeded(sender: AnyObject) {
    
        //Here we test for the presently selected segment
        switch segmentcontroll.selectedSegmentIndex {
        case 0:
            self.view.backgroundColor=UIColor.purpleColor()
            segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
        case 1:
            self.view.backgroundColor=UIColor.yellowColor()
            segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
        default:
            self.view.backgroundColor=UIColor.grayColor()
            segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
        }
    }

    OriginalEl autor Kishore Kumar

  3. 2

    La UISegmentedControl funciona como un conjunto de botones de radio. Es decir, sólo un segmento puede ser seleccionado a la vez. Para obtener la funcionalidad que usted desea, usted tendrá que hacer un control personalizado que se parece a un UISegmentedControl.

    Gracias. Me pueden agrupar algunos botones juntos para crear la apariencia de un UISegmenetedControl y agregar la funcionalidad personalizada que estoy buscando.
    Sí, la que debe trabajar.

    OriginalEl autor user3386109

  4. 0

    Usted puede simplemente utilizar selectedSegmentIndex propiedad como hay int documentación

    https://developer.apple.com/library/ios/documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html#//apple_ref/occ/instp/UISegmentedControl/selectedSegmentIndex

    Así que simplemente:

    [segmentControl setSelectedSegmentIndex:2];

    Considerar que puede establecer solo 1 índice y que si quieres anular la selección de todos los tiene que establecer el índice -1.

    OriginalEl autor Matteo Gobbi

  5. 0

    Mediante programación, esto no puede ser hecho en SegmentControl, pero se puede hacer de esta manera:
    Usted puede crear un imageView poner cuatro botones en la que tamaño son iguales como los segmentos y hacerlos transparentes cuando uno se pulsa el botón de cambiar la imagen de imageView que el aspecto del Segmento C, D se pulsa esta manera usted puede hacer otras tareas.

    OriginalEl autor Banker Mittal

Dejar respuesta

Please enter your comment!
Please enter your name here