[ad_1]
I need to create an extension for UIViewController however I’ve one downside with my @objc func.
How you can go this parameter under?
#selector(handlePanGestExt(sender: cardOriginY: )))
fileprivate var cardOriginY : CGFloat!
extension UIViewController {
func panGestureRecognizerToHandleDragAndDissmisView(inCardView : UIView, cardOriginY : CGFloat) {
let panGesture = UIPanGestureRecognizer(goal: self, motion: #selector(handlePanGestExt(sender: cardOriginY: )))
inCardView.addGestureRecognizer(panGesture)
}
@objc func handlePanGestExt(sender: UIPanGestureRecognizer, cardOriginY : CGFloat) {
let fileView = sender.view!
swap sender.state {
case .started, .modified:
moveViewWithPan(view: fileView, sender: sender)
case .ended:
let dragVelocity = sender.velocity(in: view)
if dragVelocity.y >= 1300 {
dismiss(animated: false, completion: nil)
} else {
returnViewToOrigin(view: fileView, cardOriginY: cardOriginY)
}
default:
break
}
}
func moveViewWithPan(view: UIView, sender: UIPanGestureRecognizer) {
let translation = sender.translation(in: view)
guard translation.y >= 0 else { return }
view.middle = CGPoint(x:view.middle.x, y: view.middle.y + translation.y)
sender.setTranslation(CGPoint.zero, in: view)
}
func returnViewToOrigin(view: UIView, cardOriginY : CGFloat) {
UIView.animate(withDuration: 0.3) {
view.body.origin = CGPoint(x: 0.0 , y: cardOriginY)
}
}
what am I doing improper ? When I’m calling func “panGestureRecognizerToHandleDragAndDissmisView” I need to go this parameter “cardOriginY”
[ad_2]
