본문 바로가기

SwiftUI7

[SwiftUI] GeometryReader의 iOS 버전별 차이 아래와 같은 뷰를 그렸을 때 import SwiftUI struct ContentView: View { var body: some View { GeometryReader { geo in Text("Hello world") } } } iOS 13의 경우 GeometryReader가 화면의 중간부터 시작합니다. iOS 14 이상의 경우 GeometryReader가 화면의 왼쪽 상단부터 시작합니다. 시작 위치가 다르니 주의하세요 2022. 8. 18.
SwiftUI - Lazy Navigation 안녕하세요. 고고입니다. SwiftUI로 개발을 하다보면 List와 NavigationLink로 아래와 같은 화면을 만들 때가 많습니다. List(1...100, id: \.self) { id in NavigationLink(destination: SecondView(id: id)) { Text("\(id)번째 항목") } } 아래 코드는 FirstView에서 리스트의 항목을 하나 클릭하면 SecondView로 이동합니다. struct FirstView: View { var body: some View { List(1...100, id: \.self) { id in NavigationLink(destination: SecondView(id: id)) { Text("\(id)번째 항목") } }.navig.. 2022. 3. 16.
[SwiftUI] `ForEach(_:content:)` should only be used for *constant* data. === AttributeGraph: cycle detected through attribute 697368 === ForEach count (8) != its initial count (7). `ForEach(_:content:)` should only be used for *constant* data. Instead conform data to `Identifiable` or use `ForEach(_:id:content:)` and provide an explicit `id`! 안녕하세요 ◠‿◠ 고고입니다. 갑자기 저 위의 문구가 한 20개쯤은 떠서 당황했는데 읽어보면 ForEach를 할 때 idenfiable을 상속하는 데이터를 쓰거나 id를 넣어달란 뜻이었습니다. 따라서 다음과 같이 고쳤습니다. .. 2021. 11. 25.
[SwiftUI] Previews in Xcode 번역 안녕하세요 ◠‿◠ 고고입니다. 원문 : https://developer.apple.com/documentation/swiftui/previews-in-xcode Apple Developer Documentation developer.apple.com 당신의 커스텀 뷰의 동적이고 인터렉티브한 프리뷰를 만들어보세요. Overview 당신이 SwiftUI에서 커스텀 뷰를 생성할 때, Xcode는 뷰의 코드를 변경할 때 최신 상태로 유지되는 뷰의 프리뷰를 표시할 수 있습니다. Xcode에 무엇을 표시할지 알려주기 위해 PreviewProvider 프로토콜을 준수하는 구조체를 정의합니다. Xcode는 코드 옆의 canvas에서 프리뷰를 보여줍니다. view modifier를 사용해 프리뷰를 설정할 수 있습니다. .. 2021. 11. 6.
[SwiftUI] navigationBarTitle LayoutConstraints error 안녕하세요 ◠‿◠ 고고입니다. Xcode를 업데이트하고나니 아래같이 네비게이션뷰에 타이틀을 지정하면 레이아웃 경고가 콘솔에 뜨더군요. import SwiftUI struct HomeView: View { var body: some View { NavigationView { Text("Text") .navigationBarTitle("My Title") } } } 2021-11-06 15:58:37.451585+0900 Daily Bible[17299:601787] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one .. 2021. 11. 6.
[SwiftUI] iOS 13부터 지원하기 안녕하세요 ◠‿◠ 고고입니다. iOS 14 출시 후 SwiftUI 프로젝트를 만들면 @main이 붙은 (프로젝트명)App.swift가 생기며 AppDelegate와 SceneDelegate를 대체하기 시작했습니다. import SwiftUI @main struct TestApp: App { var body: some Scene { WindowGroup { ContentView() } } } 하지만 이 글은 iOS 14가 아닌, iOS 13부터 지원하고 싶으신 분들을 위한 글입니다. 1. (프로젝트명).App 지우기 2. SceneDelegate.swift 만들기 import UIKit import SwiftUI class SceneDelegate: UIResponder, UIWindowSceneDeleg.. 2021. 11. 4.