这是一个奇怪的场景,但我有两个重叠的 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];
}