Грубый путь, если ваши представления имеют фиксированные размеры:
1, создайте 3 переменные для позиции представлений
var view1Center: CGPoint = CGPoint(x: 100, y: 100)
var view2CenterBefore: CGPoint = CGPoint(x: 100, y: 100)
var view2CenterAfter: CGPoint = CGPoint(x: 100, y: 400)
2, В ViewDidLoad или ViewDidAppear установите альфа-представление представления в 0 и позиции
view1.alpha = 0
view2.alpha = 0
view1.center = view1Center
view2.center = view2CenterBefore
3, Когда вы нажимаете кнопку, вы должны анимировать ходы и показать представление1.
@IBAction func showView1(_ sender: Any) {
UIView.animate(withDuration: 0.5, animations: {
view2.center = view2CenterAfter
})
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
UIView.animate(withDuration: 0.5, animatios: {
view1.alpha = 1
}
}
}