Ребята, я хочу нажать на кнопку uiButton после ее добавления в UIImageVIew, но она не работает. это мой код:
UIButton *btnDetail = [[UIButton buttonWithType:UIButtonTypeDetailDisclosure]retain];
btnDetail.frame = CGRectMake(0,0,100,100);
[btnDetail addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventAllTouchEvents];
[self.imageView addSubview:btnDetail];
кнопка не может щелкнуть, когда я добавляю ее в UIImageVIew, но если я не добавлю ее в UIImageView, она будет работать правильно. пожалуйста, кто-нибудь, помогите мне
Примечание: По умолчанию свойство UserInteraction
свойства UIImageView
установлено в NO. Именно в этом месте большинство из нас допускает ошибку.
Поэтому главное, что нужно проверить при добавлении любого элемента управления в UIImageView
, это установить его свойство UserInteractionEnabled
в YES.
[self.imageView setUserInteractionEnabled:YES];
Поэтому измените свой код следующим образом:
UIButton *btnDetail = [[UIButton buttonWithType:UIButtonTypeDetailDisclosure]retain];
btnDetail.frame = CGRectMake(0,0,100,100);
[btnDetail addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventAllTouchEvents];
[self.imageView addSubview:btnDetail];
[self.imageView bringSubviewToFront:btnDetail];
[self.imageView setUserInteractionEnabled:YES];
HAppy Coding...
UIImageView имеет для параметра userInteractionProperty
значение NO по умолчанию, поэтому он не обрабатывает прикосновения и не передает их своим подпредставлениям. Попробуйте установить ДА:
self.imageView.userInteractionEnabled = YES;