Добрый вечер. У меня есть два ViewControllers (давайте назовите их A и B) и с помощью метода touchhesBegan. Он работает следующим образом: при просмотре вида A, вид B добавляется как подпункт вида A и появляется с центром, расположенным в месте касания. Но когда я нажимаю на вид B (недавно добавленный), touchBegan из B не вызывается. Я уже установил view.enableUserInteraction в true в обоих представлениях, уже проверенный unsuccesfully nextResponder(). TouchhesBegan. Что я делаю не так ? Обс: Я намерен добавить несколько видов B (ширина = 60, высота = 60) в качестве подзонов вида A.touchsBegan метод не вызывается при добавлении в качестве подсмотра другого вида
ответ
Это связано с тем, что на сенсорные события ответил A. Вы должны отключить взаимодействие пользователя A, когда B показывает.
Update:
Попробуйте это:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
if (!self.clipsToBounds && !self.hidden && self.alpha > 0.01) {
for (UIView *subview in self.subviews.reverseObjectEnumerator) {
CGPoint subPoint = [subview convertPoint:point fromView:self];
UIView *result = [subview hitTest:subPoint withEvent:event];
if (result != nil) {
return result;
}
}
}
return nil;
}
У вас есть два вида или два viewControllers? Когда вы запускаете событие, которое загружает вид «B», вызывает .becomeFirstResponder()
на ваш объект вида.
Два режима просмотра с двумя соответствующими видами –
вам может понадобиться добавить распознаватель жестов к вашему второму виду, чтобы он мог обрабатывать краны. 'let tap: UITapGestureRecognizer = UITapGestureRecognizer (target: self, action: #selector()' 'view.addGestureRecognizer (tap)', тогда в селекторе запускается любой способ, который вам нужен. – Haligen
Да .. Я сделал это уже и это сработало но я просто хотел знать, почему touchhesBegan не работает. Но tks btw –
- 1. ScrollView не прокручивается при добавлении подсмотра в контроллер вида
- 2. xib используя автоотключение не отображается при добавлении в качестве подсмотра
- 3. touchsBegan не вызывается на iPhone
- 4. Сообщение, отправленное на освобожденный экземпляр при добавлении вида раскадровки в качестве подсмотра
- 5. UIViewController viewWillAppear не вызывается при добавлении в качестве subView
- 6. touchsBegan не вызывается в подклассе UIView
- 7. Метод UIbutton не вызывается при добавлении в просмотр, scrollview & tablecell
- 8. UISearchBar не отображает кнопку Отмена при добавлении в качестве подсмотра в UINavigationBar
- 9. touchsBegan не вызывается после освобождения объекта UIView
- 10. Свойство заголовка UIButton регистрируется правильно, но не отображается при добавлении кнопки в качестве подсмотра
- 11. текстовое поле и кнопка не распознают прикосновение при добавлении в качестве подсмотра метки
- 12. Позиция просмотра Изменения при добавлении в виде подзаголовка другого вида
- 13. OnRender не вызывается при добавлении элемента коллекции?
- 14. drawRect не вызывается при добавлении subview
- 15. Добавление представления viewcontroller в качестве подсмотра представления
- 16. Выбрасывает неперехваченное исключение при добавлении подсмотра в строку таблицы
- 17. Метод не вызывается при просмотре загрузок
- 18. touchsBegan не отвечает
- 19. onCreateViewHolder не вызывается при добавлении нового элемента
- 20. сбоя при добавлении вида MapKit в ViewController
- 21. сбой кода при добавлении вида
- 22. Событие не связывается при динамическом добавлении вида
- 23. touchsBegan не стреляет в UICollectionViewController
- 24. Signal sigabrt при добавлении вида
- 25. Метод не вызывается при запуске
- 26. Анимация при добавлении подсмотра путем изменения границ «стреляет над»
- 27. Rikulo - Какой метод вида вызывается при загрузке подзаголовков
- 28. destroyItem функция PageAdapter не вызывается при удалении любого вида
- 29. Programatically создано NSView не появляется при добавлении родительского вида
- 30. Имея проблемы с touchsBegan метод
Но я должен добавить несколько из B (width = 60 и height = 60). Если я выключу A, как добавить еще B позже? –
@BrunoBarros Я играю. Вы должны переопределить точку зрения «hitTest» A. Когда вы обнаружили, что подвью было поражено, вы должны доставить это событие. – Lumialxk
nice..could u помочь мне в том, как это сделать? Я был бы рад, если бы вы могли ответить каким-то кодом. tks –