//
// ShakeHandView.swift
// ShakeHandView
//
// Created by Jeff Jeong on 2021/06/12.
//
import SwiftUI
// 손흔드는 뷰 입니다!
struct ShakeHandView: View {
// 뷰의 상태 변경을 위한 shouldShake 스테이트
@State var shouldShake : Bool = false
var body: some View {
ZStack{ // Zstack 으로 층을 만들었습니다.
Color.blue // 배경은 파란색으로 넣구요
// 시스템 이미지를 사용했습니다.
Image(systemName: "hand.raised.fill")
.font(.system(size: 120)) // 크기 설정
// 로테이트 이펙트로 회전을 시킵니다.
// 스테이트의 값 변경에 따라 회전 변경
.rotationEffect(
.degrees(shouldShake ? -30 : 30)
,anchor: .bottom) // 앵커는 아래
.animation(.easeInOut
.repeatForever() // 무한 반복
.speed(0.5)) // 스피드
.onAppear{ // 뷰가 생성되고 보여질 때
shouldShake.toggle() // 값을 반전
}
.padding()
.foregroundColor(.white)
}
.edgesIgnoringSafeArea(.all)
}
}
struct ShakeHandView_Previews: PreviewProvider {
static var previews: some View {
ShakeHandView()
// previewLayout 으로 미리보기 레이아웃 설정이 가능합니다.
// sizeThatFits 으로 해당 뷰 크기 만큼 보여줍니다.
.previewLayout(PreviewLayout.sizeThatFits)
// .padding()
// 미리보기 이름을 설정할 수 있습니다.
.previewDisplayName("알람 뷰")
}
}
Last active
September 3, 2021 07:12
-
-
Save TuenTuenna/b6e77f9bac3a0f9e6d21ea229bf85994 to your computer and use it in GitHub Desktop.
SwiftUi Animation - Shake Hand View
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment