长话短说,如果我的UINavigationBar的alpha
设置为0,我希望所有触摸都进入底层视图(从带有导航栏的视图控制器的角度来看,只是self.view
)。如果是1.0
,我希望它保留它们。
我将UINavigationBar子类化,并且试图覆盖hitTest:withEvent:
,但是我真的很困惑自己在做什么,并且搜索几乎没有帮助。
我该如何说:“如果alpha为0,则将触摸发送到self.view
,否则继续导航栏”?
最佳答案
您需要将视图的引用发送到导航栏中,并将其设置为名为behindView
的属性。
if(self.alpha == 0.0f)
{
return behindView;
}
return [super hitTest:point withEvent:event];
另一种方法是像这样重写
pointInside:withEvent:
:if(self.alpha == 0.0f)
{
return NO;
}
return [super pointInside:point withEvent:event];
关于ios - 在某些情况下,如何使用hitTest:withEvent:从导航栏向基础 View 发送触摸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18092528/