2010-05-10 13 views
5

estoy teniendo un poco de problemas para usar la propiedad etiqueta para acceder a una UIButtonllegar a una UIButton con el iPhone propiedad de etiqueta

UIButton *randomButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect ]];  
    randomButton.frame = CGRectMake(205, 145, 90, 22); // size and position of button 
    [randomButton setTitle:@"Random" forState:UIControlStateNormal]; 
    randomButton.backgroundColor = [UIColor clearColor]; 
    randomButton.adjustsImageWhenHighlighted = YES; 
    [randomButton addTarget:self action:@selector(getrandom:) 
      forControlEvents:UIControlEventTouchUpInside]; 
    randomButton.reversesTitleShadowWhenHighlighted=YES; 
    randomButton.toggleButton 

    [self.view addSubview:randomButton]; 

    randomButton.tag=333; 

Luego, más tarde en el código que intenta conseguir en el botón de la siguiente manera lo que me da un error que dice

incompatibles tipos de Objective-C inicializar 'struct UIView *', espera 'struct UIButton *'

UIButton *random = [self.view viewWithTag:333]; 
    random.highlighted=NO; 

Respuesta

23

Probar:

UIButton *random = (UIButton *)[self.view viewWithTag:333]; 

Además, ¿por qué se asigna la etiqueta después de haber soltado el botón?

+0

Gracias, su código eliminó mi advertencia. Todo el asunto de retener/liberar no debería haber estado allí. Aunque ahora estoy obteniendo el botón con éxito, parece que no puedo cambiar su estado a "resaltado". Intento hacer esto en el controlador para un evento UIControlEventTouchUpInside. Básicamente tengo 3 botones en los que intento implementar un efecto de alternar. Solo un botón aparece seleccionado a la vez – dubbeat

Cuestiones relacionadas