У меня есть маленькая кнопка, чтобы показать и скрыть элемент пользовательского интерфейса. Когда я нажимаю кнопку «Домой», чтобы выйти из приложения, а затем возвращаюсь к нему, кнопка переходит в исходное положение, а не в новое положение, в котором она была анимирована.
Желаемое действие состоит в том, чтобы оно оставалось в том положении, в котором пользователь оставил его, когда они уходят и возвращаются в приложение.
@IBAction func hideChartTapped(_ sender: Any) {
let delay = 0.3
if chart.isHidden {
self.chart.isHidden = false
UIView.animate(withDuration: delay, animations: {
self.hideChart.center.y = (self.hideChart.center.y - self.chart.bounds.height)
self.chart.center.y = (self.chart.center.y - self.chart.bounds.height)
}, completion: nil)
} else {
UIView.animate(withDuration: delay, animations: {
self.hideChart.center.y = (self.hideChart.center.y + self.chart.bounds.height)
self.chart.center.y = (self.chart.center.y + self.chart.bounds.height)
self.hideChart.setNeedsDisplay()
}, completion: nil)
DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: {
self.chart.isHidden = true
})
}
}
Это код, который я использую, чтобы скрыть и показать график и переместить кнопку. Положение по умолчанию для кнопки и диаграммы устанавливается в main.Storyboard.