如标题所述,由于某些原因,在某些.setBackgroundImage
上调用UIButton
后,已移动的所有对象的位置将重置为其原始位置。
UI元素的原始位置是通过StoryBoard设置的,之后我使用PanGestureRecognizer更改某些元素的位置(例如菜单向上滑动)
这样简单:
@IBAction func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translation(in: self.view)
if let view = recognizer.view {
view.center = CGPoint(x:view.center.x + translation.x,
y:view.center.y + translation.y)
}
recognizer.setTranslation(CGPoint.zero, in: self.view)
}
之后我有一些带有背景图片的按钮,当用户选择主题更改时,会更改.setBackgroundImage在此UIButton上执行,如下所示:
button.setBackgroundImage(image, for: UIControlState.normal)
在按钮上更改图像后,翻译对象(滑动的菜单)的位置被设置回通过故事板设置的原始位置我希望此菜单保持打开,即使在某些无相关按钮上的图像被打开之后