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
6
A
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");
}
Jak dodać etykietę w kodzie lub IB? I dlaczego dodajesz etykietę - przycisk ma już tytułLabel, po co dodawać kolejny? – rdelmar
wpisz kod, którego użyłeś do dodania tej etykiety –