我有三个UIButton实例:buttonAbuttonBbuttonC。每个按钮都有自己的中心并占据一定的大小。
我想让这些按钮“做一些事情”(即改变alpha值),当屏幕被点击时,除了按钮所在的地方,这样人们就可以按下按钮,触发它们的action而不发生“做这件事”。
请问最好的办法是什么?

最佳答案

试试这样的:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    // Get location of touch
    let pos = touches.first?.location(in: self.view)

    if !b.frame.contains(pos) && !b2.frame.contains(pos) && !b3.frame.contains(pos) {
        // Change alpha or do something else
    }
}

其中b、b2和b3是每个按钮。

关于ios - 检测不在UISubView上的轻击手势,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51639368/

10-12 12:54
查看更多