UIButton внутри UIImageView не реагирует на касания

У меня есть представление прокрутки, которое имеет представление изображения с изображением в качестве подпредставления, а представление изображения имеет UIButton в качестве одного из его подпредставлений. Проблема в том, что я не могу нажать на кнопку. Я могу ВИДЕТЬ кнопку, но не могу нажать на нее.

Кто-нибудь может сказать мне, что я делаю неправильно? Любая помощь приветствуется! Спасибо!

Ниже приведен код:

scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];    
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"img.jpg"]];
scrollView.delegate = self;
self.view = scrollView;

// add invisible buttons
[self addInvisibleButtons];
[scrollView addSubview:imageView];

addInvisibleButtons имеет следующий код:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(buttonHandler) forControlEvents:UIControlEventAllEvents];
[button setTitle:@"point" forState:UIControlStateNormal];
button.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
[self.imageView addSubview:button];
31
задан silentBeep 19 December 2015 в 12:50
поделиться

1 ответ

Могу я спросить, почему вы добавляете невидимое UIButtons в UIImageView?

Кажется, что это плохая практика, обратите внимание Interface Builder не позволяет вам добавить UIButton внутри них.

Если вы хотите изображение с сенсорной обработкой, вы можете:

UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(buttonHandler) forControlEvents:UIControlEventAllEvents];
[button setTitle:@"point" forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"img.jpg"] forState:UIControlStateNormal];
[button setFrame:CGRectMake(0.0, 0.0, 40.0, 40.0)];

[scrollView addSubview:button];
4
ответ дан 27 November 2019 в 21:32
поделиться