Я создал пользовательский View в отдельном файле из моего viewController, а затем добавляю его программно. Чтобы дать вам некоторый контекст, это просто карточка с половиной высоты экрана. Внутри этой карты у меня есть вертикальный stackView, содержащий:
- Horizontal stackView
- Две кнопки
На этой карте я выполняю некоторые действия на основе заданного значения от моей модели. Это мой код:
func myFunction() {
let value: Bool! = // true or false
if value {
self.stackView.isHidden = true
} else {
self.button1.isHidden = true
self.button2.isHidden = true
}
}
Я вызываю свою функцию в viewDidAppear lyfecycle следующим образом:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.myFunction()
}
Проблема в том, что когда я открываю свое представление с этим view Я вижу некоторое отставание при удалении элементов. Например, если значение истинно, поэтому я удаляю свой горизонтальный стек, я все еще вижу его примерно 0,5 секунды, а затем он исчезает, и у меня есть только мои кнопки.
Я думал, что это симулятор, и устройство выполнит это лучше, но все равно ... Я что-то упускаю? Есть ли какая-нибудь анимация или какой-нибудь трюк, чтобы сделать это мгновенно?