Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

SwiftUI/SwiftUI(Intermediate)24

11. DragGestrue() 드래그 제스쳐 ⭐️DragGestrue() 드래그 제스쳐⭐️ 손가락으로 드래그했을 때 다양한 효과를 주는 법을 알아보자. 상하좌우 이동도 가능하고, 이에 맞춰 크기 변화도 줄 수 있고 여러 애니메이션 효과를 가미할 수 있다. 1. 좌우 이동 스케일 효과 // Created by Toughie on 2023/05/25. // import SwiftUI struct DragGesturePrac: View { //초기 오프셋 0에서 시작 @State var offset: CGSize = .zero var body: some View { ZStack { VStack { Text("\(offset.width)") Spacer() } RoundedRectangle(cornerRadius: 20) .fill(Color.blue.o.. 2023. 5. 25.
10. LongPressGesture 길게 누르기 ⭐️LongPressGesture 길게 누르기⭐️ tapGesture의 경우 탭 하는 순간 바로 어떤 액션이 실행되는데, 일정 시간 이상 누르고 있어야 액션이 실행되도록 해야 하는 경우에 LongPressGesture를 활용할 수 있다. 대부분의 앱에서는 크게 사용할 일이 없을 거 같지만..게임이나 특수한 상황에서 사용할 수도 있겠다는 생각. LongPressGesture는 크게 3가지 정도를 고려할 수 있겠다. 1. 얼마나 눌러야 하는가? 2. 누르고 있는가? 3. 다 눌렀는가? // Created by Toughie on 2023/05/25. // import SwiftUI struct LongPressGesture: View { //누르고 있는지 판단하기 위한 프로퍼티 @State var isPre.. 2023. 5. 25.
9. RotationGesture/effect 회전 애니메이션 ⭐️RotationGesture/effect 회전 애니메이션⭐️ 보이는 그대로.. 두 손가락을 이용해 돌릴 수 있는 애니메이션을 구현해보자. // Created by Toughie on 2023/05/25. // import SwiftUI struct RotationGestruePrac: View { //초기 각도 0 @State var angle: Angle = Angle(degrees: 0) var body: some View { Text("Toughie") .font(.largeTitle) .fontWeight(.semibold) .foregroundColor(.white) .padding(50) .background(Color.blue.cornerRadius(10)) //회전 이펙트 .rotati.. 2023. 5. 25.
8. MagnificationGesture (확대/축소) ⭐️MagnificationGesture (확대/축소)⭐️ 인스타그램에서 피드의 사진을 손가락을 통해 핀치 인/아웃을 하면 사진이 확대/축소 되는 기능이 있다. 이것을 MagnificationGesture와 ScaleEffect를 통해 구현해보자. + 좋아요 버튼까지 간단하게 // Created by Toughie on 2023/05/24. // import SwiftUI struct MagnificationGesturePrac: View { @State var currentAmount: CGFloat = 0 @State var heartTapped = false var body: some View { VStack(spacing: 10) { HStack { Circle().frame(width: 25, .. 2023. 5. 25.
7. 푸쉬 알림 (Notification) ⭐️푸쉬 알림 (Notification)⭐️ 개인적인 유저 입장에서는 푸쉬 알림(노티)이 귀찮아서 대부분 끄지만.. 광고나 주기적인 앱 사용 촉진을 위해서는 푸쉬 알림이 유용하다고 생각한다. 서버단에서 데이터를 받아와서 푸쉬를 보내는 경우가 많겠지만 이번에는 서버통신 없이 로컬에서(앱 내 데이터를 바탕으로) 푸쉬 알림을 보내는 방법을 정리해보고자 한다. 먼저 '시간' , '날짜', '위치' 기반으로 푸쉬를 보내는 방법을 다루고자 한다. 이전 사운드, 햅틱과 같이 싱글톤 패턴을 통해 푸쉬를 보내보자. // Created by Toughie on 2023/05/24. // import SwiftUI //노티를 보내기 위한 프레임워크 import UserNotifications //위치 정보를 위한 프레임워크.. 2023. 5. 24.
6. Haptic 진동 ⭐️Haptic 진동⭐️ 아이폰에서 햅틱 효과를 주는 방법에 대해 알아보자. 아이폰6s이후부터 탭틱엔진으로 진동 모듈이 바뀌면서 기분 좋은 진동 효과를 느낄 수 있지만 그 강도가 너무 약해져서 불편한 부분도 있다고 생각한다. 확실하게 빡! 진동을 주기 어려워졌달까.. 그래도 적절하게 사운드와 함께 쓰면 더 나은 UX에 기여할 수 있을 것 같다. 싱글톤 패턴을 활용한 햅틱 매니저 // Created by Toughie on 2023/05/24. // import SwiftUI final class HapticManager { static let shared = HapticManager() private init() { } //알림 func notification(type: UINotificationFeed.. 2023. 5. 24.