Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como criar animações no macOS usando Swift e SwiftUI

Animações são uma parte essencial do desenvolvimento de interfaces de usuário modernas, proporcionando uma experiência mais rica e interativa. No ambiente Apple, especialmente no macOS, iOS, watchOS e tvOS, as animações podem ser criadas de maneira eficiente e intuitiva usando Swift e SwiftUI. Este artigo abordará como criar animações no macOS utilizando essas tecnologias, fornecendo exemplos práticos para que você possa implementar animações em suas próprias aplicações.


Exemplos:


Exemplo 1: Animação Básica com SwiftUI


Vamos começar com uma animação simples que altera a opacidade de uma view.


import SwiftUI

struct ContentView: View {
@State private var isVisible = false

var body: some View {
VStack {
Text("Hello, World!")
.opacity(isVisible ? 1 : 0)
.animation(.easeIn(duration: 1.0), value: isVisible)

Button("Toggle Visibility") {
isVisible.toggle()
}
}
.padding()
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

Neste exemplo, um texto "Hello, World!" é exibido com uma animação de opacidade. Ao clicar no botão "Toggle Visibility", a opacidade do texto alterna entre 0 e 1 com uma animação de 1 segundo.


Exemplo 2: Animação de Movimento


Agora, vamos criar uma animação que move uma view de um lado para o outro.


import SwiftUI

struct MovingView: View {
@State private var offset: CGFloat = 0

var body: some View {
VStack {
Circle()
.frame(width: 50, height: 50)
.offset(x: offset)
.animation(.easeInOut(duration: 1.0), value: offset)

Button("Move") {
offset = offset == 0 ? 100 : 0
}
}
.padding()
}
}

struct MovingView_Previews: PreviewProvider {
static var previews: some View {
MovingView()
}
}

Neste exemplo, um círculo é movido horizontalmente quando o botão "Move" é pressionado. A animação usa a função easeInOut para suavizar o movimento.


Exemplo 3: Animação de Escala


Por fim, vamos criar uma animação que altera a escala de uma view.


import SwiftUI

struct ScalingView: View {
@State private var scale: CGFloat = 1.0

var body: some View {
VStack {
Rectangle()
.frame(width: 100, height: 100)
.scaleEffect(scale)
.animation(.spring(), value: scale)

Button("Scale") {
scale = scale == 1.0 ? 1.5 : 1.0
}
}
.padding()
}
}

struct ScalingView_Previews: PreviewProvider {
static var previews: some View {
ScalingView()
}
}

Neste exemplo, um retângulo é escalado quando o botão "Scale" é pressionado. A animação usa a função spring para criar um efeito de mola.


To share Download PDF