当父观点userInteractionEnabled = NO,它的子视图不会接受,即使他们的userInteractionEnabled属性设置为YES触摸事件设置为NO。如何获得触摸时,父视图已经userInteractionEnabled iOS中
有什么办法仍然可以在子视图中获得触摸事件吗?
当父观点userInteractionEnabled = NO,它的子视图不会接受,即使他们的userInteractionEnabled属性设置为YES触摸事件设置为NO。如何获得触摸时,父视图已经userInteractionEnabled iOS中
有什么办法仍然可以在子视图中获得触摸事件吗?
为了得到一个观点,让触摸直通,但给其子视图处理润色,让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
grea t ..谢谢! – Antigluk 2012-07-30 00:28:19
设置父视图的userInteractionEnabled属性为NO也含蓄地将其子视图userInteractionEnabled性能NO为好。我不知道如何使用您所描述的方法将触摸事件发送到子视图,但也许您可以创建一个视图,该视图简单地覆盖了希望用户与之交互的视图,但不是这些视图的父视图观点。
解决方法是将按钮等的用户交互禁用为零而不是禁用整个父视图的用户交互
您可以考虑以下解决方案:http://stackoverflow.com/a/35592676/913347 – ishahak 2016-02-24 03:33:53