在不影响其子视图和按钮的情况下禁用透明视图上的交互
Disable interaction on transparent view without affecting its subviews and buttons
我想在视图中制作一个浮动菜单,稍后将添加到许多选项卡视图视图控制器中。所以我希望视图本身是透明的并且不接受交互,同时让用户能够与菜单按钮交互。
如下图:
我试图将视图 alpha 设置为 0,它向下级联到它的所有子视图。
尝试将 userInteractionEnabled 设置为 NO 它也确实级联到所有子视图。
有什么建议吗??
创建一个自定义视图和override
pointInside:
,它returns 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
}
我想在视图中制作一个浮动菜单,稍后将添加到许多选项卡视图视图控制器中。所以我希望视图本身是透明的并且不接受交互,同时让用户能够与菜单按钮交互。
如下图:
我试图将视图 alpha 设置为 0,它向下级联到它的所有子视图。
尝试将 userInteractionEnabled 设置为 NO 它也确实级联到所有子视图。
有什么建议吗??
创建一个自定义视图和override
pointInside:
,它returns 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
}