重なった2つのビューのうち、上のビューのイベントを下のビューに送りたい。
上のビューAをタッチした場合に、何もしないで下に位置するビューBにイベントを送りたい場合があります。Bは単にAの下に重なっているだけで、Aのサブビューではありません。
こんな場合は、Aの側で
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *view = [super hitTest:point withEvent:event];
if (view == self) {
return nil;
}
return view;
}
とすればいいようです。もっと単純に
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return NO;
}
でもうまくいくようです。
以下のサイトを参考にしました。
コメント