Generics (T)모든 타입에 대응하기
·
SwiftUI
Generics Type이란 어떤 타입이든 대응할 수 있도록 해주는 타입으로 T 키워드로 주로 사용됩니다 사용하는 상황사용하기 전에는 같은 내용이지만 타입이 다르기 때문에 모델을 분리해서 2개를 만들어야 하는 상황이 있을 수 있습니다.struct StringModel { let info: String? func removeInfo() -> StringModel { return StringModel(info: nil) }}struct BoolModel { let info: Bool? func removeInfo() -> BoolModel { BoolModel(info: nil) }} 사용 후사용 후에는 키워드를 사용하여 Generic..
MatchedGeometryEffect
·
SwiftUI
사용하기 전과 후 차이점 위에서 보듯이 사용하게 되면 뷰의 변화에 대해 더 부드럽게 대응하는 UI를 만들 수 있습니다.matchedGeometryEffect는 같은 뷰로 인식할 고유한 id 값과 이 정보를 기억할 @Namespace 프로퍼티 래퍼를 사용해야 합니다. 사용 방법struct ContentView: View { let categories: [String] = ["Home", "popular", "Saved"] @State private var selected: String = "" @Namespace private var namespace var body: some View { HStack { ForEach(categories, id..
@discardableResult 반환값을 무시하게 만들기
·
SwiftUI
함수 또는 메서드 같이 특정 반환 값을 받을 때 해당 반환 값이 필요 없을 때 무시할 수 있게 합니다 예를 들어 다음과 같이 데이터를 반환 받는 메서드에서 만약 반환 값을 따로 저장할 필요가 없고 그냥 실행만 하고 싶을 때가 있을 수 있습니다. 만약 @discardableResult 메크로를 사용하지 않으면 다음과 같은 에러가 에러가 발생하게 됩니다.  하지만 @discardableResult 를 사용하게 된다면 에러를 무시할 수 있으며 이것은 메서드로부터 반환되는 값을 무시할 수 있음을 나타냅니다.
UIscreen.main will be deprecated 대처하기
·
SwiftUI
Extension 사용하기extension UIWindow { static var current: UIWindow? { for scene in UIApplication.shared.connectedScenes { guard let windowScene = scene as? UIWindowScene else { continue } for window in windowScene.windows { if window.isKeyWindow { return window } } } return nil }}extension UIScreen { static var current: U..
onLongPressGesture 길게 눌렀을 때 동작하기
·
SwiftUI
onLongPressGestrure를 사용하게 되면 길게 꾹 눌렀을 때 동작합니다 사용하는 방법은 매우 간단합니다. 다음과 같이 onLongPressGesture를 사용하여 클로저에 동작할 내용을 적습니다.struct ContentView: View { @State var color: Color = .black var body: some View { Text("길게 누르세요") .foregroundStyle(color) .onLongPressGesture { color = .red } }} 또는 다음과 같은 코드를 만들 수 있습니다.struct ContentView: View ..
haptics / vibration (진동)
·
SwiftUI
haptics는 스마트 디바이스나 게임기 등에서 사용하는 휴먼 인터페이스 장치 중 하나로, 사용자에게 촉각과 운동감, 힘을 느끼게 해주는 기술 사용 방법은 간단합니다. UINotificationFeedbackGenerator에서 FeedbackType 또는 FeedbackStyle을 사용하는데 사용자한테 진동을 주는데 사용됩니다.class HapticManager { static let instance = HapticManager() // 싱글톤 func notification(type: UINotificationFeedbackGenerator.FeedbackType) { let generator = UINotificationFeedbackGenerator() ..
ytw_developer
'SwiftUI' 카테고리의 글 목록 (15 Page)