He creado botones mediante el uso de un bucle for. Los botones están hechos a la perfección. Ahora tengo que solo IB acción para el conjunto de la dinámica de los botones. He puesto una etiqueta demasiado.El código que estoy utilizando es el siguiente escrito. Pero la acción no es identificar la exacta botón que desea utilizar.

for (int i=0; i < 10; i++){

     btnphoto=[[UIButton alloc]initWithFrame:CGRectMake(10,(30*i)+110,50,20)];

     [btnphoto setTitle:@"Photo" forState:UIControlStateNormal];

     [btnphoto addTarget:self action:@selector(someMethod:)forControlEvents:UIControlEventTouchUpInside];

     btnphoto.tag=100 + i;

     [self.view addSubview:btnphoto];

}

-(void)someMethod:(UIButton *)sender{

}
InformationsquelleAutor rahul | 2013-11-21

7 Comentarios

  1. 3

    Intente esto:

    En someMethod método –

    UIButton *button = sender;
    
    int buttonTagIndex = button.tag;

    Ahora buttonTagIndex le da la etiqueta de índice para el botón seleccionado.

    • Hola Smita.Gracias por la respuesta,.Si quiero decir que el cambio de color del botón, por ejemplo.y en cada botón tengo que realizar el mismo .yo.e para cada botón de la misma se debe realizar.entonces, ¿cómo puedo lograr eso .
    • No estoy recibiendo correctamente. Si desea realizar la misma cosa en cada botón de acción entonces no hay necesidad de llegar botón de etiqueta. pero si usted quiere cambiar el color de los botones, a continuación, usted puede.
    • usted está rito …lo Siento, estaba mal ..Pero si tengo que cambiar de color diferente en cada botón de acción. entonces, ¿cómo puedo hacer que
    • por favor vea mi respuesta… va a ayudar a usted como quiera…si cualquier consulta, por favor pregunte
  2. 3

    Probar este

    for (int i=0; i < 10; i++){
    
        UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(10,(30*i)+110,50,20)];
    
        [button setTitle:@"Photo" forState:UIControlStateNormal];
    
        [button addTarget:self action:@selector(someMethod:)forControlEvents:UIControlEventTouchUpInside];
    
        button.tag=100 + i;
    
        [self.view addSubview:button];
    
    }

    Para mostrar diferente color, agregar primero el color en la matriz de

    NSMutableArray *colorArray=[[NSMutableArray alloc] initWithObjects:[UIColor redColor],[UIColor blueColor],[UIColor greenColor],nil];    

    luego

    -(void)someMethod:(UIButton *)sender{
        NSLog(@"Btn Tag = %d",sender.tag);
        int randomNum=arc4random()%3;
        [sender setBackgroundColor:[colorArray objectAtIndex:randomNum]];
    }
    • Hola Rajneesh,Gracias por tu respuesta..yo uso este código..Ahora en cada uno de los botones que hacen que el color rojo.Pero si quiero que la primera botón de color rojo y 2 de color azul y la tercera tiene otras, a continuación, cómo puedo hacer eso.
    • usted puede añadir su color en la matriz, a continuación, establezca..
    • hmm … bonita respuesta
    • comprobar ahora…
    • gracias 🙂
  3. 2

    si quieres cambiar el color o cualquier propiedad, entonces usted puede hacer de la siguiente manera

    //yo solo te da ejemplo de cómo puedo cambiar el título de la UIButton mismo modo se puede cambiar el color de propiedad… sólo he usado esta en mi código..

     -(void)someMethod:(id)sender {
              //1...this will change all the button title with string "Changed" 
                [sender setTitle:@"Changed" forState:UIControlStateNormal];
    
    
             //2..now if you want to just change the property of uibutton on basis of tag value
                 [(UIButton *)[self.contentView viewWithTag:Your_TAG_VALUE] setTitle:@"JustChanged" forState:UIControlStateNormal];
    
    
        }
  4. 2

    Usted tiene que tener acceso a la propiedad de etiqueta del botón desde dentro de la función para determinar qué botón ha llamado el selector.

    -(void)someMethod:(UIButton *)sender {
    
        UIButton *tappedButton = sender;
    
        NSInteger tag = tappedButton.tag;
        NSLog(@"This is the button with tag: %ld",tag);
    
        [tappedButton setBackgroundColor:[UIColor redColor]];
    }
    • sí a partir de este código//ahora tengo identificar botón en el que he clic en el Bot..digamos, por ejemplo, si en cada clic de botón.quiero cambiar los botones de color.puedes por favor decirme que cómo puedo hacer eso .Gracias de antemano
    • Cosa segura, véase mi edición.
  5. 0
    -(void)someMethod:(id)sender{     
    
           UIButton *btn = (UIButton *)sender;
           int *btn_tag=btn.tag;
    
           NSLog(@"This is the button with tag: %d", btn_tag);
    
    
        }
    • Hola OmPrakash.quiero decir, cambiar el color del botón, por ejemplo.y en cada botón tengo que realizar el mismo .yo.e para cada botón de la misma se debe realizar.entonces, ¿cómo puedo lograr eso .
    • UIButton *btn = (UIButton *)[auto.ver viewWithTag:btn_tag]; [btn setBackgroundColor:color];
  6. 0

    Como ya se ha establecido la etiqueta para cada botón, de forma que acaba de hacer el siguiente para identificar el botón que ha sido tocado

    -(void)someMethod:(id)sender
    {
        UIButton *TouchedButton=(UIButton *)sender;
        int TouchedButtonTag=[TouchedButton tag]; //Now you can uniquely identify your buttons by this tag. 
        //do your stuff for respective button touched event
    
       switch([TouchedButton tag])
       {
          case :101
               [TouchedButton setBackgroundColor:[UIColor redColor]];
               break;
    
          case :102
               [TouchedButton setBackgroundColor:[UIColor redColor]];
               break;
    
          case :103
               [TouchedButton setBackgroundColor:[UIColor blueColor]];
               break;
    
         //and so on...
       }
    }
    • Hola de tapas.Si quiero decir que el cambio de color del botón, por ejemplo.y en cada botón tengo que realizar el mismo .yo.e para cada botón de la misma se debe realizar.entonces, ¿cómo puedo lograr eso .
    • Hola user2754190 de verificación editado mi respuesta
    • Abajo de los votantes por qué voto de mí?????
  7. 0

    Probar el código anterior, esto puede ser de ayuda :

    -(void)someMethod:(id)sender{
       UIButton *btn = (UIButton *)[self.view viewWithTag:btn_tag];
        switch([btn tag])
        {
         case :101
           [btn setBackgroundColor:[UIColor redColor]];
            break;
    
          case :102
               [btn setBackgroundColor:[UIColor redColor]];
               break;
    
          case :103
               [btn setBackgroundColor:[UIColor blueColor]];
               break;
       }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here