Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //MARK: - PAN GESTURE RECOGNIZER
- //Permiti a movimentação do textField superior por gesto.
- @IBAction func didPanTfTop(_ sender: UIPanGestureRecognizer) {
- let translation = sender.translation(in: self.view)
- if sender.state == .began {
- print("Gesture began")
- textFieldOriginalCenter = tfTop.center
- } else if sender.state == .changed {
- print("Gesture is changed")
- tfTop.center = CGPoint(x: textFieldOriginalCenter.x + translation.x, y: textFieldOriginalCenter.y + translation.y)
- } else if sender.state == .ended {
- print("Gesture ended")
- }
- }
- //Permiti a movimentação do textField inferior por gesto.
- @IBAction func didPanTfBottom(_ sender: UIPanGestureRecognizer) {
- let translation = sender.translation(in: self.view)
- if sender.state == .began {
- print("Gesture began")
- textFieldOriginalCenter = tfBottom.center
- } else if sender.state == .changed {
- print("Gesture is changed")
- tfBottom.center = CGPoint(x: textFieldOriginalCenter.x + translation.x, y: textFieldOriginalCenter.y + translation.y)
- } else if sender.state == .ended {
- print("Gesture ended")
- }
- }
- //Aciona uma activeView para compartilhar o Meme
- @IBAction func share(_ sender: UIBarButtonItem) {
- Feedback.share.hapticFeedback()
- let memeImage = generateMemedImage()
- let activityView = UIActivityViewController(activityItems: [memeImage], applicationActivities: nil)
- activityView.completionWithItemsHandler = { (activityType: UIActivity.ActivityType?, completed: Bool, returnedItems: [Any]?, error: Error?) -> Void in
- if completed {
- self.save()
- print("Image has saved")
- }
- }
- present(activityView, animated: true, completion: nil)
- }
- //TOP TextField Constraints outlets
- @IBOutlet weak var topUpConstraint: NSLayoutConstraint!
- @IBOutlet weak var topRightConstraint: NSLayoutConstraint!
- @IBOutlet weak var topLeftConstraint: NSLayoutConstraint!
- //BOTTOM TextField Constraints outlets
- @IBOutlet weak var bottomDownConstraint: NSLayoutConstraint!
- @IBOutlet weak var bottomRightConstraint: NSLayoutConstraint!
- @IBOutlet weak var bottomLeftConstraint: NSLayoutConstraint!
- //Solução simplificada, mas um pouco frágil, que permiti a movimentação do textField superior por gesto.
- @IBAction func didPanTfTop(_ gesture: UIPanGestureRecognizer) {
- switch gesture.state {
- case .began:
- originalTransform = gesture.view!.transform
- case .changed, .ended:
- let translation = gesture.translation(in: gesture.view)
- gesture.view?.transform = originalTransform.translatedBy(x: translation.x, y: translation.y)
- default:
- break
- }
- }
- //Solução mais robusta e segura que permiti a movimentação do textField inferior por gesto.
- @IBAction func didPanTfBottom(_ gesture: UIPanGestureRecognizer) {
- switch gesture.state {
- case .began:
- originalBottomDownConstant = bottomDownConstraint.constant
- originalBottomRightConstant = bottomRightConstraint.constant
- originalBottomLeftConstant = bottomLeftConstraint.constant
- case .changed, .ended:
- let translation = gesture.translation(in: gesture.view)
- bottomDownConstraint.constant = originalBottomDownConstant + translation.y
- bottomRightConstraint.constant = originalBottomRightConstant + translation.x
- bottomLeftConstraint.constant = originalBottomLeftConstant + translation.x
- default:
- break
- }
- }
Add Comment
Please, Sign In to add comment