我做了一个可拖动的按钮
let buttonGesture = UIPanGestureRecognizer(target: self, action: #selector(draggedButton(_:)))
menuButton.isUserInteractionEnabled = true
menuButton.addGestureRecognizer(buttonGesture)
当按钮拖动到一定位置时,图像会发生变化。
@objc func draggedButton(_ sender:UIPanGestureRecognizer){
self.view.bringSubview(toFront: menuButton)
let translation = sender.translation(in: self.view)
menuButton.center = CGPoint(x: menuButton.center.x + translation.x, y: menuButton.center.y + translation.y)
sender.setTranslation(CGPoint.zero, in: self.view)
if(menuButton.center.x < 100){
menuButton.setImage(UIImage(named: "newimage"), for: UIControlState.normal)
}
}
但是setImage之后,按钮会重置位置,如何防止这种情况发生?
最佳答案
尝试设置按钮背景图像而不是按钮图像。因为设置图像会重新调整其位置。
关于ios - 如何在不重置位置的情况下更改UIButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48237613/