UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 180, 180)];
myLabel.backgroundColor = [UIColor greenColor];
[self.view addSubview:myLabel];
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self addTarget:self action:@selector(show) forControlEvents:UIControlEventTouchDown];
myButton.frame = CGRectMake(80.0, 120.0, 30, 30);
myButton.showsTouchWhenHighlighted = YES;
[self addSubview:myButton];
ainsi les travaux de bouton (appel show:
), mais utilisez [myLabel addSubview:myButton];
le bouton ne fonctionne pas. pas certain de pourquoi?UIButton sur UIScrollView ne peut pas fonctionner
EDIT & SOLUTION ---------------- ------------ Merci de
de UILabel par défaut ne gère pas tous les événements. Vous devez définir la propriété userInteractionEnabled
de l'étiquette sur YES
.
Aussi, vous feriez mieux de ne pas ajouter un UIButton sur le dessus d'un UILabel. UILabel par défaut ne gère aucun événement.
Merci, je pense que ce sont toutes des sous-classes de UIView. –
@william: UILabel * est * une sous-classe de UIView, seulement qu'il désactive explicitement 'userInteractionEnabled'. – kennytm