首页 > 解决方案 > viewController 中所有对象的 iOS/Swift 位置在 .setBackgroundImage 之后重置

问题描述

.setBackgroundImage如标题中所述,由于某种原因,在调用 some之后,所有已移动对象的位置都会重置为其原始位置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)

在按钮上更改图像后,翻译对象的位置(向上滑动的菜单)设置回通过情节提要设置的原始位置我希望即使在某些不相关按钮上的图像被更改后,此菜单仍保持打开状态。

标签: iosswiftuser-interface

解决方案


推荐阅读