忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

iOSにて意図したsubViewでタッチイベントが発生しない件について

わか

タッチイベントが意図したsubViewで発生しない現象が発生しましたので、備忘録を記載します。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {

    CGRect rect = self.subview.bounds;
    if (CGRectContainsPoint(rect, point)) {
        return self.subview;
    }
    return [super hitTest:point withEvent:event];

}


親viewにてhitTestをオーバーライドし、イベントを発生されたいviewを返すことで、
subViewにてイベントが発生します。(touchBegan等が呼ばれる)
そもそもsubViewでタッチイベントが発生しない理由は分かりませんでしたが、
これでイベント発生させることができました。

iOSのUI部分はどのように動いているのか実際に動作させないと分からない部分が多く、
大変ですね。

拍手[0回]

PR