Iphone 忽略触摸事件,并让其下方的视图处理触摸?
我有一个用户可以触摸的可拖动视图,但是其中的一些矩形没有图像(alpha 0) 当用户单击透明区域时(我可以在没有alpha信息的情况下构建透明区域),我希望透明区域下方的视图(同一类)能够检测触摸 我的策略是让视图在用户触摸透明区域时忽略触摸,并希望下面的视图能够自动捕捉触摸事件。但我不确定这是否有效。(设置要测试这一点的内容需要一些时间) 我应该采取不同的方法,还是上述策略有效Iphone 忽略触摸事件,并让其下方的视图处理触摸?,iphone,touch,Iphone,Touch,我有一个用户可以触摸的可拖动视图,但是其中的一些矩形没有图像(alpha 0) 当用户单击透明区域时(我可以在没有alpha信息的情况下构建透明区域),我希望透明区域下方的视图(同一类)能够检测触摸 我的策略是让视图在用户触摸透明区域时忽略触摸,并希望下面的视图能够自动捕捉触摸事件。但我不确定这是否有效。(设置要测试这一点的内容需要一些时间) 我应该采取不同的方法,还是上述策略有效 谢谢。尝试覆盖superview中的方法hitTest:withEvent:。您可以使hitTest:withEv
谢谢。尝试覆盖superview中的方法hitTest:withEvent:。您可以使hitTest:withEvent:返回要处理给定事件的视图
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
for (UIView *v in self.subviews){
CGPoint pointInB = [v convertPoint:point fromView:self];
if ([v someConditionYouMayWantToTestFor]){
return v;
}
}
return nil;
}
SomeConditionYouWantToTestFor方法用于测试是否希望子视图捕获事件 啊,谢谢。子视图会按正确的顺序排序吗?迭代中最重要的视图?我看到单触屏导致调用hitTest 3次。。不知道我的代码是不是乱七八糟,或者这是一种预期的行为