Ответ 1
Я нашел быстрые решения. Мне нужно было настроить asyncimageview следующим образом:
asyncImage.userInteractionEnabled = NO;
asyncImage.exclusiveTouch = NO;
После этого он сработает!
Я пытаюсь добавить subviews в UIButton. Сейчас это работает отлично. Но кнопка больше не будет нажата, как только я добавлю subviews.
Я использую следующий код:
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(column*100+24, row*80+10, 64, 64);
[button addSubview:asyncImage];
[button addSubview:price];
[button addTarget:self
action:@selector(buttonClicked:)
forControlEvents:UIControlEventTouchUpInside];
Кнопка снова работает, если я вырезаю 2 addubviews. Если кто-нибудь знает, как это исправить, было бы здорово!
Thnx!!!
Я нашел быстрые решения. Мне нужно было настроить asyncimageview следующим образом:
asyncImage.userInteractionEnabled = NO;
asyncImage.exclusiveTouch = NO;
После этого он сработает!
попробовать:
[UIButton buttonWithType:UIButtonTypeCustom];
вместо:
[UIButton buttonWithType:UIButtonControlType];
Вы пытались поставить:
[asyncImage setUserInteractionEnabled:YES];
в той же ситуации я делаю это действие: наследуйте от UIButton и добавьте все метки и образное изображение кнопки в себя, наконец, добавьте новую кнопку для просмотра в качестве последнего подзаголовка и добавьте цели своей кнопки на эту последнюю кнопку (также установите backgroundColor на clearColor для прозрачного). теперь он будет доступен для кликов и будет отлично работать.
Здесь важно убедиться, что userInteractionEnabled
будет установлен на NO
. К счастью, он сразу работает для UIImageView
и UILabel
(возможно, для других подклассов UIView
, но это самые популярные субвизоры, добавленные к кнопке), потому что по умолчанию для этих классов по умолчанию установлено значение NO
. К сожалению, он установлен в YES
в UIView
, поэтому обязательно измените его в этом случае. Беспокойство с любыми другими флагами не должно быть необходимым. Характер проблемы заключается в том, что многие люди не знают, что значение по умолчанию для этого флага отличается в подклассах.
В Swift, проверьте, что у вас заблокирован UIButton
uibtn.userInteractionEnabled = false
uibtn.exclusiveTouch = false