Как описано в заголовке, по какой-то причине позиция всех перемещенных объектов сбрасывается в исходное положение после вызова .setBackgroundImage
для некоторых UIButton
.
Исходная позиция пользовательского интерфейсаэлементы устанавливаются через 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 предварительно формируется на этой кнопке UIB следующим образом:
button.setBackgroundImage(image, for: UIControlState.normal)
После изменения изображения на кнопке положение переведенного объекта (меню, которое перемещается вверх)возвращается в исходное положение, установленное через раскадровку. Я хочу, чтобы это меню оставалось открытым даже после того, как изображение на какой-либо не связанной кнопке поменялось.