1

次のように 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など)をオーバーライドしません。ビューのタッチ カウントには、そのサブビュー内のすべてのタッチが含まれることが期待されますが、そのようには機能していないようです。コードで何か間違ったことをしているのですか、それともこれが動作するはずの方法で、理由がわかりませんか? (後者の場合、なぜこれが良いのですか?)

ありがとうございました!

4

0 に答える 0