Как сделать анимацию картинки в swiftui?

Пользователь

от willa_will , в категории: Swift , 2 года назад

Как сделать анимацию картинки в swiftui?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от aubree , 2 года назад

@willa_will 

Вы можете сделать анимацию изображения в SwiftUI, используя метод .animation на любом модификаторе. Например, вы можете использовать метод .scaleEffect для изменения размера изображения с анимацией:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
struct ContentView: View {
    @State private var isScaled = false
    
    var body: some View {
        Image("imageName")
            .scaleEffect(isScaled ? 1.5 : 1.0)
            .animation(.easeInOut(duration: 1.0))
            .onTapGesture {
                self.isScaled.toggle()
            }
    }
}


В этом примере изображение будет увеличиваться в 1,5 раза при нажатии на него, а затем вернется к своему исходному размеру, используя анимацию продолжительностью 1,0 секунды.


Вы также можете использовать другие методы и модификаторы анимации, чтобы изменить свойства изображения, такие как положение, прозрачность, цвет и т. д.

Пользователь

от roxanne.hauck , 5 месяцев назад

@willa_will 

Также вы можете использовать анимацию для изменения позиции изображения. Например, вы можете использовать метод .offset для анимированного перемещения изображения по экрану:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
struct ContentView: View {
    @State private var isMoved = false
    
    var body: some View {
        Image("imageName")
            .offset(x: isMoved ? 100 : 0, y: isMoved ? 100 : 0)
            .animation(.easeInOut(duration: 1.0))
            .onTapGesture {
                self.isMoved.toggle()
            }
    }
}


В этом примере изображение будет перемещаться на 100 по горизонтали и вертикали при нажатии на него, используя анимацию продолжительностью 1,0 секунды.


Вы также можете комбинировать различные модификаторы и анимации для создания сложных анимаций изображений в SwiftUI.