UIButton на UIScrollView не может работать - PullRequest
0 голосов
/ 07 апреля 2010
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];

таким образом кнопка работает (позвоните show:), но используйте [myLabel addSubview:myButton]; кнопка не работает. не уверен почему?

---------------- РЕДАКТИРОВАТЬ И РЕШЕНИЕ ------------ Спасибо @KennyTM

UILabel по умолчанию не обрабатывает никаких событий. Необходимо установить для свойства userInteractionEnabled метки значение YES.

Кроме того, вам лучше не добавлять UIButton поверх UILabel.

1 Ответ

1 голос
/ 07 апреля 2010

UILabel по умолчанию не обрабатывает никаких событий. Вам необходимо установить для свойства userInteractionEnabled метки значение YES.

Кнопка в любом случае не должна быть подпредставлением лейбла, это нелогично. Сделайте оба из них подвидом UIView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...