ios - UIButton 位于 View 顶部且 userInteractionEnabled=NO

标签 ios uibutton

我正在 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/

相关文章:

ios - 如果主页按钮被禁用或覆盖,我如何自动锁定/唤醒 iPad?

xcode - 限制或更改 Xcode 4 中的方案目标?

ios - 在 iTunesConnect 中被拒绝后无法将应用内购买重新添加到应用

ios - 接收 subview 的触摸事件

iphone - UIActivityIndi​​catorView 无响应

ios - 我想更新我的 tableview 静态单元格,我该如何更新它?

ios - 自动调整 UITableView 高度以仅显示存在的 UITableViewCell

ios - GeoFire Swift 3 - 保存和更新坐标

ios - Objective-C 中选择器上的 EXC_BAD_ACCESS

ios - 来自不同状态的颜色的 UIButton 背景图像