title: Pinch, Pan, and Rotate Text Simultaneously like Snapchat [SWIFT 3]
body: <p>I'm trying to make a TextView that you can move around like snapchat does. I have made something similar to it, although when you try and scale while rotates, it tends to stretch horizontally infinitely and dragging can be a little buggy at times. </p>
  
  <p>I have this:</p>
  
  <pre><code>func panGesture(pan: UIPanGestureRecognizer) {
      print("Being Dragged")
      if pan.state == .began {
          textViewOrigin = pan.location(in: textView)
      }else {
          let location = pan.location(in: view) // get pan location
          textView.frame.origin = CGPoint(x: location.x - textViewOrigin.x, y: location.y - textViewOrigin.y)
      }
  }
  func scaleGesture(_ gesture: UIPinchGestureRecognizer){
      print("Being Scaled")
      switch gesture.state{
      case.began:
          identity = textView.transform
      case.changed,.ended:
          textView.transform = identity.scaledBy(x: gesture.scale, y: gesture.scale)
      default:
          break
      }
  }
  func rotationGesture(sender: UIRotationGestureRecognizer){
      print("Being Rotated")
      textView.transform = textView.transform.rotated(by: sender.rotation)
      sender.rotation = 0
  }
  </code></pre>
  
  <p>and I am trying to accomplish this:
  <a href="https://i.stack.imgur.com/Vvtp0.gif" rel="noreferrer"><img src="https://i.stack.imgur.com/Vvtp0.gif" alt="enter image description here"></a></p>
  
  <p>If someone could help alter or re-write my code that would be great, thanks in advance!</p>