如何将Pan Gesture Recognizer从一个视图转移到另一个视图?

时间:2020-08-18 08:54:00

标签: ios swift xcode uigesturerecognizer uipangesturerecognizer

我有一个可以录制语音留言的按钮。长按后,我创建一个新视图,可以在其中移动另一个按钮。但是,如果不再次轻按,则平移手势识别器将无法正常工作。那么,您能告诉我如何将手势识别器从一个按钮转移到另一个按钮吗? 因此,我想使用2种方法。

 @objc func recordTapped(sender: UILongPressGestureRecognizer){
    textInput.isHidden = true
    
    self.view.addSubview(audioPlayerView)
    audioPlayerView.setAudioPlayer()
    
    timer =  Timer.scheduledTimer(timeInterval: 0.0, target: self, selector: #selector(updateTimer), userInfo: NSDate(), repeats: true)
    startRecording()
   

    self.area.backgroundColor = #colorLiteral(red: 0.2392156869, green: 0.6745098233, blue: 0.9686274529, alpha: 0.7026969178)
    
    UIView.animate(withDuration: 2.0, delay: 0, options: [.repeat, .autoreverse], animations: {
        self.area.backgroundColor = #colorLiteral(red: 0, green: 0.1071770917, blue: 0.3669734589, alpha: 0.6900149829)
        

    }, completion: { (success) in
        
    })
  
    
    
    buttonToPlayAudio.isHidden = false
    addImageButton.isHidden = true
}

第二个手势是用于新视图

 @objc func handlePan(_ gestureRecognizer: UIPanGestureRecognizer) {
    //this method i want to call from previous button
}

1 个答案:

答案 0 :(得分:0)

您需要将手势识别器添加到公共父视图。调用时,检查手指是否在目标按钮内。然后添加视图,当用户松开手指时,检查它的位置。