У меня есть представление прокрутки, которое имеет представление изображения с изображением в качестве подпредставления, а представление изображения имеет 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];
Могу я спросить, почему вы добавляете невидимое 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];