按下/释放时更改uiview的颜色

时间:2018-11-23 06:43:53

标签: ios swift uiview

有没有一种方法可以在按下和释放时更改uiview的颜色。

我通过覆盖它使用touchesBegan和touchesEnded尝试了它,但是它影响了现有功能。因此,在不影响现有功能的情况下,我们可以实现它吗?

1 个答案:

答案 0 :(得分:2)

您可以使用UIGestureRecognizer检测视图上的触摸事件。请参考下面的链接以获取更多信息。

https://www.raywenderlich.com/433-uigesturerecognizer-tutorial-getting-started https://developer.apple.com/documentation/uikit/uipangesturerecognizer

示例:

let myView = UIView()
let gesture = UITapGestureRecognizer(target: self, action: #selector(tapEventDetected(gesture:)))
myView.addGestureRecognizer(gesture)

@objc func tapEventDetected(gesture:UITapGestureRecognizer){

        if gesture.state == .began{

            //Set touch began color
        }

        if gesture.state = .ended{

            //Set touch ended color
        }
}

谢谢!