繁体   English   中英

禁用透明视图上的交互,而不会影响其子视图和按钮

[英]Disable interaction on transparent view without affecting its subviews and buttons

我想在视图中制作一个浮动菜单,稍后将其添加到许多选项卡视图视图控制器中。 因此,我希望视图本身是透明的,并且在保持用户能够与菜单按钮交互的同时不进行交互。

如下图所示:

在此处输入图片说明

我试图将视图alpha设置为0,它级联到其所有子视图。

试图将userInteractionEnabled设置为NO,它也确实向下层叠了所有子视图。

有什么建议么??

创建一个自定义视图override pointInside:如果该点不在合格的子视图内,则返回false

它可能看起来像这样:

override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
    for subview in subviews {
        if !subview.hidden, subview.userInteractionEnabled, subview.frame.contains(point) {
            return true
        }
    }
    return false
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM