Похоже, вы хотите что-то сделать, когда анимация завершена. Если это так, используйте параметр completion
:
UIView.animate(withDuration: 0.3, animations: {
self.BalanceMenu.scrollview.frame = CGRect(x: x1 - 150, y: y1 + 20, width: 200, height: 20)
}, completion: { _ in
self.BalanceMenu.triangle.isHidden = true
self.BalanceMenu.scrollview.isHidden = true
for button in self.BalanceMenuBtn {
button.imag.removeFromSuperview()
button.button.removeFromSuperview()
}
self.BalanceMenuBtn.removeAll()
})
Это позволяет избежать проблем с синхронизацией, вызванных этим delay
методом. Это также делает намерение более явным.
Само собой разумеется, что как только вы решите эту проблему, свойства BalanceMenu
и BalanceMenuBtn
должны быть переименованы, чтобы начинаться с строчных букв, например, возможно balanceMenu
и balanceMenuButtons
, соответственно. Также обратите внимание на использование суффикса Buttons
вместо Btn
, чтобы было понятно, что это массив кнопок.