Как получить штрихи, когда родительский взгляд имеет userInteractionEnabled, установленный в NO в iOS
Если у родительского представления есть userInteractionEnabled = NO, его subviews не будет принимать события касания, даже если для свойства userInteractionEnabled установлено значение YES.
Есть ли способ по-прежнему получать события касания в subviews?
Ответы
Ответ 1
Чтобы получить представление, позволяющее касатьться сквозным, но прикоснитесь к касаниям его надзоров, дайте userInteractionEnabled в этом представлении YES и вместо этого используйте этот фрагмент:
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) return nil;
else return hitView;
}
Источник: http://cocoaheads.tumblr.com/post/2130871776/ignore-touches-to-uiview-subclass-but-not-to-its
Ответ 2
Установка родительского представления свойства userInteractionEnabled в NO также неявно устанавливает для свойств subviews userInteractionEnabled значение NO. Я не знаю, как получить сенсорные события в subview с использованием описанного вами подхода, но, возможно, вы могли бы создать представление, которое просто накладывает представления, с которыми вы хотите взаимодействовать, но не является родителем этих просмотров.
Ответ 3
Обходной задачей было бы отключить пользовательский интерфейс кнопок и т.д., вместо того, чтобы отключать взаимодействие пользователя со всем родительским представлением