iOS取消某些区域中的触摸事件
是否有办法取消视图中某些区域的触摸事件?我有一个自定义UIView,我只想处理触摸事件,如果它们距离屏幕边缘100像素。假设您使用的是Interface Builder,只需使用另一个UIView即可。调整其大小,并将其放置在希望发生触摸事件的位置。然后,使自定义视图能够触摸激活。以编程方式,我个人不知道如何做。正如Justin所说,在interface builder中添加自定义UIView(或以编程方式),然后将其添加到视图中。让我们称之为视图接触区域。然后在Viewcontroller.m文件中,实现iOS取消某些区域中的触摸事件,ios,uitouch,Ios,Uitouch,是否有办法取消视图中某些区域的触摸事件?我有一个自定义UIView,我只想处理触摸事件,如果它们距离屏幕边缘100像素。假设您使用的是Interface Builder,只需使用另一个UIView即可。调整其大小,并将其放置在希望发生触摸事件的位置。然后,使自定义视图能够触摸激活。以编程方式,我个人不知道如何做。正如Justin所说,在interface builder中添加自定义UIView(或以编程方式),然后将其添加到视图中。让我们称之为视图接触区域。然后在Viewcontroller.m
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
方法(取决于您尝试执行的操作),在这些方法中:
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
if (CGRectContainsPoint(touchArea.frame, location)) {
//code to execute
}
事实上,我认为即使将CGRect作为实例变量放在视图上也可以工作,但以上就是我实现它的方法