Я столкнулся с проблемой, которая действительно запутывает меня. Я написал простую анимацию двух изображений, чтобы двигаться, и она отлично работала. Однако все внезапно прекратило ожидание, и я не могу понять, почему. Я не внес никаких изменений, я могу думать, что это повлияло бы на анимацию. Я проверил, что NSLayoutConstraints на самом деле обновляется, и они есть, но они не анимируются. Любые идеи будут более чем оценены.Анимация изображения через layoutIfNeeded перестала работать
К сожалению, у меня нет версий git. Я немного новичок, и, по крайней мере, этот опыт думал о ценности git, и я буду использовать его впредь. Я добавил ограничения в раскадровку, четыре из них будут теми, с которыми я пытаюсь повлиять через код. Это ограничение y и x для двух изображений, которые я пытаюсь переместить.
Дополнительная информация У меня есть четыре предупреждения, в которых говорится: Ограничение привязки элементов, отключенных в текущей конфигурации. Выключите это ограничение в текущей конфигурации. Я смог сделать вывод, что ограничения, дающие предупреждения, - это четыре ограничения, которые я пытаюсь оживить. Но я все еще не уверен, как это исправить.
Дополнительное обновление Я теперь переместили код анимации в override func viewWillAppear(animated: Bool) { super.viewWillAppear(true)
. После этого я фактически вижу анимацию, если я удалю первый self.view.layoutIfNeeded()
Однако он оживляет все виды. Но я не могу получить только изменения ограничений для анимации.
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
...
self.view.layoutIfNeeded()
self.firstCallyC?.constant = 0
UIView.animateWithDuration(1.3, delay: 0.3, options: .CurveEaseInOut, animations: {
self.firstCallyC!.constant = (usePoint[0].y) - 210
self.firstCallxC?.constant = (usePoint[0].x) - 300
self.meditateyC?.constant = (usePoint[179].y) - 210
self.meditatexC?.constant = (usePoint[179].x) - 300
self.view.layoutIfNeeded()
}, completion: nil)
}
Пожалуйста, отредактируйте свой код, чтобы включить только самое подходящее - никто не хочет читать весь ваш класс для его отладки. Кроме того, есть ли у вас версии 'git', которые могут помочь вам найти причину изменения? И устанавливаете ли вы какие-либо ограничения в раскадровке или что-то там меняете? – sschale
Спасибо за ваш комментарий, я отредактировал мой запрос. Спросите больше, если вы можете придумать дополнительную информацию, которая была бы полезной. –
просто назовите self.view.layoutIfNeeded() в блоке анимации – Steve