我正在开发 iPad 应用程序。我只包含一个大小为 500wx500hUIViewController
的自定义。UIView
我在 theUIViewController
和 customUIView
中都实现了 touches 方法,以便UIViewController
在我们触摸 custom 周围时调用 touches 方法,UIView
并在我们触摸它内部时调用 custom UIView
touches 方法。
UIViewController touchesMoved :
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
NSLog(@"TEST"); // Added during edition
if (!CGRectContainsPoint(self.drawingView.frame, point)) {
NSLog(@"UIVIEWCONTROLLER");
}
}
自定义 UIView 触摸 Moved :
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"CUSTOM VIEW");
}
当我触摸自定义UIView
移动手指时,CUSTOM VIEW
会记录下来,直到我移开屏幕上的手指。另一方面,当我在自定义 UIView 之外进行触摸UIVIEWCONTROLLER
时,在 touchesMoved 方法中只调用了一次。
我错过了什么吗?
编辑:我在 UIViewController touchesMoved 方法中添加了一个日志。当我在自定义视图中触摸时,它会在所有触摸阶段记录测试。但是当我触摸外面时,我会得到同样的行为。