私はiPadアプリに取り組んでいます。Myには、サイズが 500wx500hUIViewControllerのカスタムのみが含まれています。UIView
カスタム全体に触れると touches メソッドを呼び出し、その内部に触れるとカスタムtouches メソッドを呼び出すために、UIViewControllerと customの両方に touches メソッドを実装しました。UIViewUIViewControllerUIViewUIView
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 タッチ 移動:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"CUSTOM VIEW");
}
UIView指を動かしてカスタムに触れているCUSTOM VIEWと、画面上で指を離すまで記録されます。一方、カスタム UIView の外に触れているUIVIEWCONTROLLERときは、 touchesMoved メソッドで が 1 回だけ呼び出されます。
私は何か間違っていますか?
編集: UIViewController touchesMoved メソッドにログを追加しました。カスタム ビュー内をタッチすると、すべてのタッチ フェーズ中に TEST がログに記録されます。しかし、外に触れると、同じ動作になります。