Анимация SwiftUI влияет на внутренние объекты

#animation #swiftui

#Анимация #swiftui

Вопрос:

У меня вопрос.. если у меня есть несколько представлений, В которых есть кнопки и т. Д. Элементы Внутри, А также анимация в родительском представлении. Как я могу избежать того, чтобы анимация влияла на внутренние объекты. В моем случае все кнопки улавливают задержку из родительского представления. Я пытаюсь использовать.обрезано, но я помогаю только для опции .shadow, а не для анимации 😉

Пример:

 ViewA(editAction: {

}).opacity(isShow ? 1 : 0)
.animation(Animation.easeOut(duration: 0.6).delay(0.8))

ViewB(editAction: {

}).opacity(isShow ? 1 : 0)
.animation(Animation.easeOut(duration: 0.6).delay(0.95))

ViewC(editAction: {

}).opacity(isShow ? 1 : 0)
.animation(Animation.easeOut(duration: 0.6).delay(1.1))
                            
ViewD(verified: .constant(true), editAction: {
                                
}).opacity(isShow ? 1 : 0)
.animation(Animation.easeOut(duration: 0.6).delay(1.25))
                            
ViewE(knowMoreAction: {
                                
}).opacity(isShow ? 1 : 0)
.animation(Animation.easeOut(duration: 0.6).delay(1.4))
  

Ответ №1:

Явно свяжите анимацию с зависимым значением, например

 ViewE(knowMoreAction: {
                                
}).opacity(isShow ? 1 : 0)
.animation(Animation.easeOut(duration: 0.6).delay(1.4), value: isShow)