Cómo controlar eventos de múltiples segmentado de control en una sola vista

Tengo 2 segmentado controles en mi viewcontroller vista. ¿Cómo puedo manejar el toque eventos tanto de la segmentación de los controladores?

OriginalEl autor Xavi Valero | 2011-11-25

6 Kommentare

  1. 2

    Conjunto de la tag de la propiedad en cada uno dividido control a otro número entero. A continuación, en su método definido como la acción para cuando los cambios de valor, compruebe que se entero de la tag se establece la propiedad para el uso de [sender tag].

    OriginalEl autor Andrew

  2. 11

    Hay dos maneras de hacerlo.

    1. Añadir diferentes acciones para cada segmento de control
    2. Agregar mismas acciones para cada segmento de control & compruebe que el control es explotado mediante su etiqueta.

      [yourSegmentedControl addTarget:self action:@selector(segmentSwitch:) forControlEvents:UIControlEventValueChanged];

      - (IBAction)segmentSwitch:(id)sender 
      {
          UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
      
          if(segmentedControl.tag == someTag)
          {
              if(segmentedControl.selectedSegmentIndex == 1)
              {
                  //your code
              }
              else if(segmentedControl.selectedSegmentIndex == 2)
              {
                  //your code
              }
          }
          else if(segmentedControl.tag == someTag)
          {
              if(segmentedControl.selectedSegmentIndex == 1)
              {
                  //your code
              }
              else if(segmentedControl.selectedSegmentIndex == 2)
              {
                  //your code
              }
          }
      }

    OriginalEl autor Surjit Joshi

  3. 3

    Apple docs dice:

    http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UISegmentedControl_Class/Reference/UISegmentedControl.html

    De registrar el destino de la acción de los métodos para la segmentación del control mediante el uso de UIControlEventValueChanged constante como se muestra a continuación.

    [segmentedControl addTarget:self
                     action:@selector(action:)
           forControlEvents:UIControlEventValueChanged];

    Por lo tanto, sólo tiene que registrarse de acción para cada segmentado de control.

    OriginalEl autor anticyclope

  4. 2

    Puede utilizar el modo seleccionado de segmento:

    UISegmentedControl *tempSegment = sender;
    if ([tempSegment selectedSegmentIndex] == 0){
        //first Action
    }
    else if ([tempSegment selectedSegmentIndex] == 1){
        //second Action
    
    }

    OriginalEl autor Fa.Shapouri

  5. 1

    Asignar dos acciones distintas a estas segmentado controles:

    [segmentedControl addTarget:self
                     action:@selector(action:)
           forControlEvents:UIControlEventValueChanged];

    OriginalEl autor Shanti K

  6. -1

    Swift versión:

     @IBAction func yourFunctionName(sender: UISegmentedControl) {
    
            if (sender.selectedSegmentIndex == 0){//choice 1
    
            }else{//choice 2
    
        }
    }

    OriginalEl autor Alexecc

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea