【问题标题】:state began and ended not being triggered状态开始和结束未被触发
【发布时间】:2016-09-02 14:36:12
【问题描述】:

我正在尝试制作一个用于拍照和录制视频的按钮。当长按时,它会记录并点击 1 会拍照。按下按钮时,我想对其进行转换以创建效果。但是开始和结束没有被触发,因为它没有转换?

func centerButtonPressedDown(sender: UITapGestureRecognizer) {

    if !pictureTaken {
        delegate?.didLongTapCameraButton()


    } else {

    }



}

func centerButtonClicked(sender: UITapGestureRecognizer) {


    if sender.state == .began {
        self.centerButton.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
    } else if sender.state == .ended {
        self.centerButton.transform = CGAffineTransform.identity
    }





}

中心按钮

    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(centerButtonClicked))  //Tap function will call when user tap on button
    let longGesture = UILongPressGestureRecognizer(target: self, action: #selector(centerButtonPressedDown))
    tapGesture.numberOfTapsRequired = 1
    centerButton.addGestureRecognizer(tapGesture)
    centerButton.addGestureRecognizer(longGesture)

【问题讨论】:

  • 您注册了一个 UILongtapGesture,但您在函数 centerButtonClicked 中将发件人类型设置为 UITapGesture。
  • 你误会了点击和长手势功能兄弟。检查我的答案。

标签: ios swift uitapgesturerecognizer


【解决方案1】:

我先尝试了你的代码兄弟。它显示错误。然后我修改了代码它可以正常工作。

let tapGesture = UITapGestureRecognizer(target: self, action:Selector("centerButtonClicked:"))  //Tap function will call when user tap on button
let longGesture = UILongPressGestureRecognizer(target: self, action:Selector("centerButtonPressedDown:"))
tapGesture.numberOfTapsRequired = 1
centerButton.addGestureRecognizer(tapGesture)
centerButton.addGestureRecognizer(longGesture)


func centerButtonPressedDown(sender: UILongPressGestureRecognizer) {

    if sender.state == .Began {
        print("long press began")
    }
    else if sender.state == .Ended {
        print("long press Ended")
    }
}

func centerButtonClicked(sender: UITapGestureRecognizer) {
     print("tap is detected")
}

当我单击按钮时,打印结果是

 tap is detected

当我长按按钮时,打印结果是

 long press began
 long press Ended

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2020-04-30
    • 1970-01-01
    相关资源
    最近更新 更多