반응형
struct HeartButton: View {
@State var isLiked = false
@State var scale: CGFloat = 1
var body: some View {
Image(systemName: isLiked ? "heart.fill" : "heart")
.resizable()
.frame(width: 100, height: 100)
.foregroundColor(isLiked ? .red : .gray)
.scaleEffect(scale)
.animation(.easeInOut(duration: 0.2))
.onTapGesture {
isLiked.toggle()
scale = isLiked ? 1.2 : 1
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
scale = 1
}
}
}
}
반응형
'Dev-iOS > SwiftUI' 카테고리의 다른 글
[SwiftUI] Animation 모음 - 좌우로 흔들리는 Animation (0) | 2024.09.10 |
---|---|
[SwiftUI] 프로퍼티 래퍼 (Property Wrapper) (0) | 2024.09.09 |
[SwiftUI] QR 코드 만들기 (38) | 2024.05.29 |
하위 뷰에 Localizable.xcstring 적용하기 (23) | 2024.05.28 |
[SwiftUI] @State 값 변경 감시하기 (26) | 2023.07.05 |