次のように touchesMoved をオーバーライドする BigView という UIView のサブクラスがあります。
@implementation BigView
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSSet * viewTouches = [event touchesForView:self];
NSLog(@"set of touches: %@", viewTouches);
}
@end
私の BigView インスタンスにはサブビュー (通常の UIView インスタンス) もあります。そのサブビュー内に触れると、上記のtouchesMoved
メソッドが呼び出されますがviewTouches
、null になります。touchesBegan
サブビューは、イベント処理メソッド ( 、touchesMoved
など)をオーバーライドしません。ビューのタッチ カウントには、そのサブビュー内のすべてのタッチが含まれることが期待されますが、そのようには機能していないようです。コードで何か間違ったことをしているのですか、それともこれが動作するはずの方法で、理由がわかりませんか? (後者の場合、なぜこれが良いのですか?)
ありがとうございました!