Я только что обнаружил, что объект UIButton
имеет метод addTarget
для обработки событий пользовательского интерфейса, но объект UIImageView
не имеет такого метода, поэтому мы не можем сделать это в коде и не можем добавить такое действие с помощью интерфейса Builder для объекта UIImageView
. Может использоваться распознаватель жестов, но есть ли простой способ добавить addTarget
в UIImageView
, чтобы наш код частично не обрабатывался распознавателем жестов и частично обрабатывался методом addTarget
?На iOS, есть ли способ добавить метод addTarget в UIImageView?
ответ
Это не должно быть много проблем, чтобы добавить жест распознаватель, который вызывает тот же селектор, что ваши кнопки вызовы:
UIButton *button = [[UIButton alloc] init];
[button addTarget:self action:@selector(tapped:) forControlEvents:UIControlEventTouchUpInside];
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[[self view] addGestureRecognizer:tapRecognizer];
- (void)tapped:(id)sender {}
aha, моя первоначальная проблема заключалась в том, что я не хотел, чтобы какой-то пользовательский интерфейс обрабатывался 'addTarget', а некоторые обрабатывались распознавателями жестов. , –
Поскольку UIImageView не является подклассом UIControl (который является суперкласс UIButton), поэтому мое решение состоит в том, чтобы подделать поведение UIControl с жесткой меткой и создать метод addTarget: action для пользовательского UIImageView, чтобы он выглядел как другие классы UIControl.
Я создал подкласс UIImageView называется SWImageView, в заголовке:
- (void)addTarget:(id)target action:(SEL)action;
в главном файле:
- (void)addTarget:(id)target action:(SEL)action
{
if (tapGestureRecognizer!=nil) {
[self removeGestureRecognizer:tapGestureRecognizer];
}
tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:target action:action];
[self addGestureRecognizer:tapGestureRecognizer];
}
Не забудьте включить взаимодействие с пользователем:
self.userInteractionEnabled = YES;
- 1. Как добавить метод класса в addtarget UIButton?
- 2. метод addTarget на НТД UIButton класса
- 3. cocoa UIImageView addTarget с дополнительным параметром
- 4. Есть ли способ добавить маркер в ImageView
- 5. Есть ли способ очистки UILabel и UIImageView?
- 6. UIButton addTarget метод не может использоваться в IOS 4.2
- 7. addTarget: self versus addTarget: nil
- 8. Альтернативный вариант UIButton addTarget: action: forControlEvents: метод в IOS
- 9. Есть ли способ добавить переменную в метод jquery css?
- 10. Есть ли способ переопределить и добавить некоторые импликации в метод?
- 11. Есть ли способ остановить изображение в UIImageView от ленивой загрузки с помощью SDWebImage на iOS?
- 12. Есть ли способ добавить музыку в медиа iOS
- 13. Есть ли способ перегрузить метод в протоколе?
- 14. iOS Swift Добавить UIImageView как UITabView item
- 15. Есть ли способ добавить userInfo для универсальных ссылок iOS?
- 16. Есть ли способ добавить метод расширения к лямбда?
- 17. Есть ли способ сохранить контакты в iOS?
- 18. Есть ли способ переключить метод .append() jQuery?
- 19. Django: Есть ли способ добавить метод экземпляра модели для администратора?
- 20. Есть ли способ измерить задержку в iOS?
- 21. iOS - Есть ли способ вызвать очистку памяти?
- 22. Есть ли способ установить цвет «контура» изображения в iOS?
- 23. Лучший способ рисовать круг поверх UIImageView IOS
- 24. определить, есть ли изображение на UIImageview
- 25. Есть ли более эффективный способ установки изображений в UIImageView?
- 26. Есть ли лучший способ добавить subviews в UITableViewCell?
- 27. Есть ли лучший способ проверить этот метод?
- 28. Есть ли способ добавить Ciphers в Cygwin
- 29. добавить маскирование к анимации uiimageview в ios
- 30. iOS - Как добавить отображение строки в UIImageView
Почему бы просто не использовать кнопку с фоновым изображением? – wattson12
Согласитесь с @ wattson12: любое другое решение просто чрезмерное. Если что-то должно произойти при щелчке, сделайте его UIButton и настройте образ, который был в вас UIImageView, как образ кнопки для всех состояний управления. – WendiKidd
, чтобы кнопка выглядела точно так же, как изображение, кроме того, что оно поддается отображению? Я предполагаю, что могут быть побочные эффекты, такие как изменение цвета изображения при касании, но это может быть действительно желательно в зависимости от ситуации. –