2010-05-10 2 views
5

Sto avendo un po 'di problemi con la proprietà tag per accedere a un UIButtonottenere ad un UIButton con la proprietà tag IPhone

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; 

poi in seguito nel codice cerco di arrivare al tasto nel modo seguente che mi dà un errore che dice

incompatibili tipi Objective-C inizializzazione 'struct UIView *', atteso 'struct UIButton *'

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

risposta

23

Prova:

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

Inoltre, perché stai assegnando il tag dopo aver rilasciato il pulsante?

+0

Grazie, il tuo codice si è liberato del mio avviso. L'intera cosa di conservazione/rilascio non dovrebbe essere stata lì. Anche se ora sto ottenendo con successo il pulsante non riesco a cambiare il suo stato in "evidenziato". Cerco di farlo nel gestore per un evento UIControlEventTouchUpInside. Fondamentalmente ho 3 pulsanti su cui sto cercando di implementare un effetto di attivazione. Viene selezionato un solo pulsante alla volta – dubbeat