SwiftUI35 SwiftUI를 이용한 그리드 그리기 (LazyVGrid) Grid 뷰는 horizontal Direction 으로 사진을 배열하여 화면을 구성하기 쉽다. 기본 코드 struct ContentView: View { let data = Array(1...1000).map { "목록 \($0)"} let columns = [ GridItem(.adaptive(minimum: 100)) ] var body: some View { ScrollView { LazyVGrid(columns: columns, spacing: 20) { ForEach(data, id: \.self) { i in VStack { Capsule() .fill(Color.yellow) .frame(height: 50) Text(i) .forgroundColor(.secondary) } } } .pa.. 2022. 12. 5. SwiftUI에서 GeometryProxy 사용하기 GeometryProxy GeometryReader 는 컨테이너 뷰의 한 종류이며, 다른 컨테이너뷰의 ViewBuilder와는 다르게 인자를 하나 받는데 그것이 GeometryProxy 객체다. 실제로 상위 뷰의 정보는 이 객체를 통해 접근이 가능하다. 기본적으로 GeometryProxy 는 size 프로퍼티를 갖고 있다. .frame(in: ) 라는 메소드가 있으며, 서브크립트도 지원한다. GeometryProxy 코드 struct GeometryProxy { var size: CGSize { get } var safeAreaInsets: EdgeInsets { get } func frame(in coordinateSpace: CoordinateSpace) -> CGRect subscrip(anchor.. 2022. 12. 1. SwiftUI를 이용한 탭 메뉴 만들기 (TabView) 상단의 메뉴바를 이용하여 화면이 전환되게 하는 View를 SwiftUI 에서는 TabView 를 제공한다. 기본 코드 struct FirstView: View { var body: some View { VStack { Text("First View") } } } struct SecondView: View { var body: some View { VStack { Text("Second View") } } } struct ContentView: View { var body: some View { TabView { FirstView() .tabItem { Image(systemName: "house") Text("Home") } SecondView() .tabItem { Image(systemName: "p.. 2022. 11. 26. SwiftUI를 이용한 여러 줄의 텍스트를 입력하기 (TextEditor) 글을 입력할 때 여러 문장으로 이루어진 장문을 써야하는 경우도 있다. 그럴때는 SwiftUI 에서는 TextEditor 뷰를 이용해 장문의 글을 입력 및 나타낸다. 기본 코드 struct ContentView: View { @State private var text: String = "Enter some text" var body: some View { VStack { TextEditor(text: $text) .padding() .foregroundColor(Color.black) .font(.custom("원하는글꼴", size: 20)) .lineSpacing(5) // 줄 간격 .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: 3.. 2022. 11. 25. 이전 1 2 3 4 5 6 7 8 9 다음