我添加了一个标签,并在单击按钮时使标签移动. 它的效果很好,直到一 但是,如果创建第二个标签,则创建的第一个标签将返回其原始位置. 我可以在维护现有位置的同时创建新标签吗?
@IBAction func btnTextAction(_ sender: UIButton) {
let label = UILabel()
label.text = "Hello"
label.textColor = .black
label.textAlignment = .center
label.translatesAutoresizingMaskIntoConstraints = false
vMain.addSubview(label)
NSLayoutConstraint.activate([
label.centerXAnchor.constraint(equalTo: vMain.centerXAnchor),
label.centerYAnchor.constraint(equalTo: vMain.centerYAnchor),
])
let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePanGesture(_:)))
label.addGestureRecognizer(panGestureRecognizer)
label.isUserInteractionEnabled = true
}
@objc func handlePanGesture(_ sender: UIPanGestureRecognizer) {
guard sender.view != nil else { return }
let translation = sender.translation(in: view)
sender.view!.center = CGPoint(x: sender.view!.center.x + translation.x, y: sender.view!.center.y + translation.y)
sender.setTranslation(CGPoint.zero, in: view)
}