Изменить текст uilabel после перетаскивания - UIPanGestureRecognizer Swift - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь отредактировать текст UILabel после использования функции wasDragged UIPanGestureRecognizer.

Я думал, что смогу отредактировать переменную подачи в метку как часть этой функции, и, возможно, .reload, но она не работает

var testLHS : String = "+ 2"

импорт UIKit

class AlgebraLearnViewController: UIViewController {

var testLHS : String = "+ 2"

override func viewDidLoad() {
    super.viewDidLoad()

    let label = UILabel(frame: CGRect(x: 110, y: 167, width: 30, height: 30))
    label.backgroundColor = UIColor.white
    label.text = testLHS
    label.textAlignment = NSTextAlignment.center
    self.view.addSubview(label)

    let gesture = UIPanGestureRecognizer(target: self, action: #selector(AlgebraLearnViewController.wasDragged(_:)))
    label.addGestureRecognizer(gesture)

    label.isUserInteractionEnabled = true

    // Do any additional setup after loading the view.
}

@objc func wasDragged(_ gesture : UIPanGestureRecognizer){

    let snapPosition = CGPoint(x: RHSconstantLabel.center.x + 20, y: RHSconstantLabel.center.y)

    let translation = gesture.translation(in: self.view)
    let label = gesture.view!

    label.center = CGPoint(x: label.center.x + translation.x , y: label.center.y + translation.y)
    gesture.setTranslation(CGPoint.zero, in: self.view)

    if gesture.state == UIGestureRecognizerState.ended {

        label.center = snapPosition
        testLHS = "- 2"

    }

}

Любые идеи приветствуются.

Спасибо

...