TextField Draggable in Swift iOS

前端 未结 2 736
梦如初夏
梦如初夏 2021-01-21 05:32

I want to drag textField around my view. but im having small problem with my code.

here my code

   override func touchesBegan(touches: Set

        
相关标签:
2条回答
  • 2021-01-21 05:43

    You can achieve this by adding a gesture to the text field:

    override func viewDidLoad() {
        super.viewDidLoad()
    
    
        var gesture = UIPanGestureRecognizer(target: self, action: Selector("userDragged:"))
        bottomTextField.addGestureRecognizer(gesture)
        bottomTextField.userInteractionEnabled = true
    }
    
    func userDragged(gesture: UIPanGestureRecognizer){
        var loc = gesture.locationInView(self.view)
        self.bottomTextField.center = loc
    
    }
    
    0 讨论(0)
  • 2021-01-21 05:49

    If it helps anyone, following is an updated working version of the accepted answer for swift 4.0 and 5.0

    override func viewDidLoad() {
        super.viewDidLoad()
    
        //Draggable textfields
        let gesture = UIPanGestureRecognizer(target: self, action: #selector(userDragged(gesture:)))
    
        bottomTextView.addGestureRecognizer(gesture)
                bottomTextView.isUserInteractionEnabled = true
    
    }
    
    @objc func userDragged(gesture: UIPanGestureRecognizer){
        let loc = gesture.location(in: self.view)
        self.bottomTextView.center = loc
    
    }
    
    0 讨论(0)
提交回复
热议问题