2012-09-05 11 views
6

Mam UIButton i dodaję wywiadzie do UIButton, który jest UILabel. Po dotknięciu przycisku UILabel działanie przycisku nie zostanie wyzwolone. Czy istnieje łatwa naprawa, aby zdarzenie dotyku zostało przekazane do UIButton po dotknięciu UILabel?
Zastanawiam się nad dodaniem narzędzia do rozpoznawania gestów do UILabel, które następnie uruchamia akcję UIButton, nie będąc pewnym, czy jest o wiele prostszy sposób.Dodanie UILabel jako wyskoku UIButton nie wyzwala działania przycisku

+1

Jak dodać etykietę w kodzie lub IB? I dlaczego dodajesz etykietę - przycisk ma już tytułLabel, po co dodawać kolejny? – rdelmar

+0

wpisz kod, którego użyłeś do dodania tej etykiety –

Odpowiedz

4

Prawdopodobnie można po prostu wyłączyć interakcje użytkownika z etykietą.

_yourLabel.userInteractionEnabled = NO; 
+2

to nie zadziała – adit

+0

zadziałało dla mnie .. – Esqarrouth

4

spróbować,

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIButton *firstButton=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [firstButton setTitle:@"first" forState:UIControlStateNormal]; 
    firstButton.frame=CGRectMake(40, 70, 80, 80); 
    [firstButton addTarget:self action:@selector(firstButtonClicked) forControlEvents: UIControlEventTouchUpInside]; 
    [self.view addSubview:firstButton]; 

    UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 80, 80)]; 
    [email protected]"hai"; 
    label.backgroundColor=[UIColor redColor]; 
    [firstButton addSubview:label]; 

} 

-(void)firstButtonClicked { 
    NSLog(@"first"); 
} 
Powiązane problemy