Dev/iOS
[SwiftUI] iOS 13 -> iOS 14 변경점
steady.dev
2021. 10. 29. 13:42
해당 문서는 확인된 사항들을 누적해서 기록할 예정이다.
iOS 13 Target SDK로 구현시 참고할 사항
- GridView
- LazyVGrid / LazyHGrid 사용보다는 iOS 13에서 사용하던 VStack과 HStack 조합을 사용하는 것이 좋을 것 같다. iOS 버전으로 구분하여 구현 시 오히려 유지보수가 어려워질 수 있다. Lazy Loading 이 필요하다면 UICollectionVIew를 UIViewRepresentable를 이용해서 구현하고, 단순히 GridView 형태는 VStack, HStack 조합으로 구현하거나 다른 Framework 를 사용하자.
비교표
| 구분 | iOS 14 | iOS 13 | 비고 | |
| 공통 | .ignoresSafeArea() : 안전영역 무시하기 | ignoresSafeArea 로 사용 권장 | .edgeIgnoringSageArea(_:) 를 이용한다. | edgeIgnoringSageArea는 deprecated 된다. (https://developer.apple.com/documentation/swiftui/view/edgesignoringsafearea(_:)) |
| TabView | .tabViewStyle : tabview에서 carousel과 같은 효과들을 줄때 사용되는 modifier |
새로 생김 | UIViewRepresentable 을 이용해서 구현 | 샘플 : https://steady-dev.tistory.com/127 |
| ScrollView | ScrollViewReader : ScrollView에서 특정 인덱스로 스크롤 해준다. | 새로 생김 | 코드로 구현 | 샘플 (iOS13) : https://steady-dev.tistory.com/131 |
| Namespace | matchedGeometryEffect(id:, in:) | 새로 생김 | 코드로 구현 | 샘플(iOS13): https://steady-dev.tistory.com/130 |
| GridView | LazyVGrid / LazyHGrid | 새로 생김 | VStack 과 HStack을 이용해서 ForEach로 구현 | iOS |
| ProgressView | Loading Indicator | 새로 생김 | UIViewRepresentable 을 이용해서 구현 | 샘플(iOS13) : https://steady-dev.tistory.com/133 |