我正在 keyWindow
之上创建一个透明层
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
_topLayer = [[UIView alloc] initWithFrame:window.frame];
_topLayer.backgroundColor = [UIColor clearColor];
_topLayer.userInteractionEnabled = NO;
[window addSubview:_topLayer];
我正在添加我想要显示在所有内容之上的 subview 。我用过
userInteractionEnabled = NO
这样该层就不会阻挡下面工作人员的水龙头。
我试图在该层的顶部添加一个 UIButton,但由于上面的 userInteractionEnabled = NO
如何让按钮响应,同时让整个背景保持透明?
提前致谢!
最佳答案
您可以这样做:使用 userInteractionEnabled=YES
子类
UIView
然后使用此代码段:
-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
id hitView = [super hitTest:point withEvent:event];
if (hitView == self) return nil; // <--- pass-through if touch on UIView
else return hitView; // touch on children
}
关于ios - UIButton 位于 View 顶部且 userInteractionEnabled=NO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32470110/