SwiftUI - Анимация изменения размера рамки просмотра

Как анимировать размер представления, чтобы 9X_animation оно могло увеличиваться или уменьшаться 9X_swiftui-bug в зависимости от высоты кадра? Мне нужно 9X_size перейти между двумя известными измерениями.

9
0
2
Общее количество ответов: 2

Ответ #1

Ответ на вопрос: SwiftUI - Анимация изменения размера рамки просмотра

Я точно не знаю, что вам нужно, но вот очень 9X_size простой пример с Rectangle, который масштабируется, когда 9X_scaleanimation вы нажимаете Button:

struct ContentView: View { @State var animate = false var body: some View { VStack { Button(action: { withAnimation { self.animate.toggle() } }, label: { Text("Animate") }) Rectangle() .foregroundColor(.blue) .frame(width: self.animate ? 100 : 150, height: self.animate ? 60 : 90) } } } 

Добавьте код к следующему 9X_rotateanimation вопросу или отредактируйте вопрос, чтобы 9X_size люди могли дать более конкретный ответ.

12
0

Ответ #2

Ответ на вопрос: SwiftUI - Анимация изменения размера рамки просмотра

Поскольку withAnimation { } анимирует все, что связано с 9X_scaleanimation изменениями состояния внутри замыкания, мы 9X_scaleanimation можем использовать модификатор .animation() для анимации 9X_view определенного.

struct ContentView: View { @State var animate = false var body: some View { VStack { Button(action: { self.animate.toggle() }, label: { Text("Animate") }) Rectangle() .foregroundColor(.blue) .frame(width: animate ? 100 : 150, height: animate ? 60 : 90) .animation(.default) //you can change the animation you need } } } 

7
0