私はiPadアプリに取り組んでいます。Myには、サイズが 500wx500hUIViewController
のカスタムのみが含まれています。UIView
カスタム全体に触れると touches メソッドを呼び出し、その内部に触れるとカスタムtouches メソッドを呼び出すために、UIViewController
と customの両方に touches メソッドを実装しました。UIView
UIViewController
UIView
UIView
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 がログに記録されます。しかし、外に触れると、同じ動作になります。