2011-01-11 140 views

回答

72

为了得到一个观点,让触摸直通,但给其子视图处理润色,让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

+1

grea t ..谢谢! – Antigluk 2012-07-30 00:28:19

4

设置父视图的userInteractionEnabled属性为NO也含蓄地将其子视图userInteractionEnabled性能NO为好。我不知道如何使用您所描述的方法将触摸事件发送到子视图,但也许您可以创建一个视图,该视图简单地覆盖了希望用户与之交互的视图,但不是这些视图的父视图观点。

-1

解决方法是将按钮等的用户交互禁用为零而不是禁用整个父视图的用户交互

相关问题