3

これは奇妙なシナリオですが、重複する 2 つの UIView があり、一方を他方の上に表示する必要がありますが、入力を受け取る際には下の方を優先します。それが理にかなっているなら。必要に応じて明確にすることができます。

できればInterface Builderでこれを行いたいのですが、それが不可能だと仮定して、プログラムで行う方法はありますか?

編集:@ jaydee3のおかげでうまくいきました。hitTest:次のように UIView1のメソッドをオーバーライドするだけです。UIView2 はself.otherView.

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    if (self.otherView && [self.otherView pointInside:[self.otherView convertPoint:point fromView:self] withEvent:event])
    {
        return [self.otherView hitTest:[self.otherView convertPoint:point fromView:self] withEvent:event];
    }

    return [super hitTest:point withEvent:event];
}
4

1 に答える 1

2
于 2012-07-14T00:32:33.730 に答える