ios - 在不影响其 subview 和按钮的情况下禁用透明 View 上的交互

标签 ios swift xcode cocoa-touch uiview

我想在一个 View 中制作一个 float 菜单,稍后将添加到许多选项卡 View View Controller 中。因此,我希望 View 本身是透明的并且不接收交互,同时让用户能够与菜单按钮进行交互。

如下图所示:

enter image description here

我试图将 View alpha 设置为 0,它向下级联到它的所有 subview 。

尝试将 userInteractionEnabled 设置为 NO 它也确实级联到所有 subview 。

有什么建议吗??

最佳答案

创建一个自定义 View 覆盖 pointInside:,当点不在时返回false在符合条件的 subview 中。

它可能看起来像这样:

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
}

关于ios - 在不影响其 subview 和按钮的情况下禁用透明 View 上的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49840176/

相关文章:

iphone - 'NSInvalidArgumentException' : unrecognized selector sent to instance 0x8d25aa0'

ios - 无法接收推送通知

ios - 分配初始化版本

ios - 表格 View 中的节数不等于我设置的

ios - 在 Xcode 目标构建阶段中, 'Compile Sources' 和 'Copy Bundle Resources' 之间有什么区别?

iphone - 在一个应用程序中为 iPhone 4 和 iPhone 5 开发

javascript - 从 native iOS 应用程序打开另一个应用程序

ios - 如果结果在通知初始化后更新,我该如何使用 Realm 通知?

xcode - 苹果Dsymutil错误 "Unable to Open Executable"

iphone - iPhone 应用程序要保留什么?