2010-05-10 13 views
5

Mam trochę problemów przy użyciu właściwości znacznika dostępu do UIButtonsię na UIButton z właściwością 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; 

Następnie później w kodzie próbuję dostać się do przycisku w następujący sposób co daje mi błąd mówiąc

niezgodne typy Objective-C inicjowanie struct UIView '*', oczekiwano 'struct UIButton *'

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

Odpowiedz

23

Spróbuj:

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

także, dlaczego przypisywanie znacznika po zwolnieniu przycisku?

+0

Dzięki, twój kod pozbył się mojego ostrzeżenia. Cała rzecz zatrzymania/wydania nie powinna tam być. Mimo że teraz z powodzeniem używam przycisku, nie mogę zmienić jego stanu na "podświetlony". Próbuję to zrobić w module obsługi dla zdarzenia UIControlEventTouchUpInside. Zasadniczo mam 3 przyciski, które próbuję zastosować efekt przełączania na. Tylko jeden przycisk pojawia się jednocześnie – dubbeat

Powiązane problemy