Нажатие кнопки не работает при наличии одного касания - PullRequest
0 голосов
/ 14 октября 2011

У меня есть иерархия просмотра следующим образом

MyViewController -> ScrollView (добавлено через IB) -> ImageView (+ масштабирование там) ---> добавлена ​​кнопка просмотр изображения (добавлено через код)

imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"map.png"]];
[scroll addSubview:imageView];

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

myButton.frame = CGRectMake(660, 120, 40, 40);

[myButton setTitle:@"10" forState:UIControlStateNormal];

[myButton addTarget:self action:@selector(asiaPressed:) forControlEvents:UIControlEventTouchUpInside];

[myButton setEnabled:YES];
[imageView addSubview:myButton];

позже в контроллере представления, я определил селектор как

-(void) asiaPressed:(id)sender{
NSLog(@"asiaPressed clicked");

}

Но он никогда не идет внутрь селектора ..

Пожалуйста, помогите ... я думаю, это очень простая ошибка ..

Заранее спасибо

1 Ответ

1 голос
/ 14 октября 2011

UIImageView имеет свойство userInteractionEnabled, установленное в NO по умолчанию, поэтому он (и его подпредставления) не получает сенсорные события. Вам нужно вручную установить для этого свойства значение YES:

...
imageView.userInteractionEnabled = YES;
...

P.S. Вы также упоминаете распознаватель жестов в заголовке вопроса, однако не опубликовали никакого кода с ним - поэтому, если он присутствует, он также может вызвать проблемы, но проблема, скорее всего, та, что я описал выше

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