У меня есть UIView, вызываемый из didSelectRow в tableView, я пытаюсь провести пальцем вниз по UIView, чтобы отклонить представление, представленное с UIPanGestureRecognizer, и обработать цикл сохранения, если это необходимо. но мой взгляд все еще виден в правом углу. это мой код
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let video = videoDataSource.videos[indexPath.row]
let window = UIApplication.shared.keyWindow!
let videoPlayerView = Bundle.main.loadNibNamed("PlayerView", owner: self, options: nil)?.first as! VideoPlayerView
videoPlayerView.frame = view.frame
videoPlayerView.video = video
window.addSubview(videoPlayerView)
}
Это UIView, я хочу отклонить
@objc func handleSwipe(gesture: UIPanGestureRecognizer) {
switch gesture.state {
case .changed:
let translation = gesture.translation(in: self.superview)
self.transform = CGAffineTransform(translationX: 0, y: translation.y)
case .ended:
let translation = gesture.translation(in: self.superview)
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
if translation.y > 50 {
self.layoutIfNeeded()
if let theWindow = UIApplication.shared.keyWindow {
gesture.view?.frame = CGRect(x:theWindow.frame.width - 15 , y: theWindow.frame.height - 15, width: 10 , height: 10)
}
}
}, completion: nil)
default:
print("Failed to swipe")
}
}