iOS/SwiftUI
![[SwiftUI] @ViewBuilder](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F41K0P%2FbtrGfOxKyWb%2FmnTjgx0QbxbizFLYnXoGNK%2Fimg.png)
[SwiftUI] @ViewBuilder
Swift에서는 함수에서 함수를 리턴할 수도 있다. 또 UIKit을 사용하다보면, View, ViewController 등을 리턴할 수도 있다. 그럼 SwiftUI에서도 함수를 통해 View를 반환할 수 있을까? (View가 리턴 타입이 될 수 있을까?) 되는지 안 되는지 모르니까 일단 해보자! func notUseViewBuilder(isFirst: Bool) -> some View { if isFirst { return FirstView() } else { return SecondView() } } 무작정 코드를 작성하고 빌드를 했다. Opaque Type이긴한데 기본 타입을 알 수 없다고 한다. 검색해보니 이럴 때 ViewBuiler를 사용하면 된다고 한다. @ViewBuilder func useV..
![[SwiftUI] ViewModifier](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FditMTN%2FbtrGe24BLtl%2FCxKJHe5KMVqVEA98Nyc7F0%2Fimg.png)
[SwiftUI] ViewModifier
Apple Developer Documentation developer.apple.com SwiftUI에서는 주로 Modifier로 View의 속성을 설정한다. Text("ViewModifier") .foregroundColor(.blue) // 파란색 적용 .bold() // 굵게 .frame(width: 30, height: 150) // 너비 30, 높이 150 .padding() // padding 주기 우리가 같은 로직을 수행하는 코드를 함수로 만드는 것처럼 매번 사용되는 Modifier도 따로 만들어 놓을 수가 있다. ex) 목표하고자 하는 코드 Text("Custom ViewModifier") .customModifier(isBold: false) ViewModifier 정의 struct C..
![[SwiftUI] Shapes](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fch35JI%2FbtrAhdSciAC%2FUvVpUUozZdRJKspA5OCysK%2Fimg.png)
[SwiftUI] Shapes
Shapes가 UIKit에도 비슷한 개념이 있었는지 모르겠다. 요즘 SwiftUI 코드만 보다보니 UIKit 코드가 점점 잊혀지는거 같은데.... 잊기전에 다시 한 번 봐야겠다. Shapes Rectangle, RoundedRectangle, Circle, Ellipse, Capsule 이 기본 Shape이고, ScaledShape, RotatedShape, OffsetShape, TransformedShape은 기본 Shape을 변형시켜 사용하는 것이다. Rectangle() .fill(.red) .frame(width: 300, height: 40) RoundedRectangle(cornerRadius: 15, style: .circular) .fill(.orange) .frame(width: 290..
![[SwiftUI] User Interface Elements](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbD7Rk3%2FbtrAeO6nNqd%2F9OoqXC51LUuwm9X8t9RHK0%2Fimg.gif)
[SwiftUI] User Interface Elements
제목은 거창하지만 줄이면 그냥 UI 요소들이다 오늘 살펴볼 UI Elements는 Text, Label, TextField, SecureField, TextEditor, Button, EditButton, Link, Menu, Slider, Stepper, Toggle, Picker, DatePicker, ColorPicker, ProgressView 이다. Text, Label, TextField, SecureField, TextEditor Text("Text Input and Output") .font(.title) Text("I'm Text") .textSelection(.enabled) Label("I'm Label", systemImage: "tray.fill") TextField("PlaceH..
![[SwiftUI] View Containers](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjiP9d%2FbtrAdZGnlhU%2FD7nKwA5XDkn0Ca31smCu3K%2Fimg.gif)
[SwiftUI] View Containers
오늘 SwiftUI의 UI 요소들을 알아보자. 오늘의 문서 https://developer.apple.com/documentation/swiftui View Containers에는 HStack, VStack, ZStack, LazyHStack, LazyVStack, LazyHGrid, LazyVGrid, GridItem, List, ForEach, ScrollView, Form, Group, GroupBox, Section, Spacer, Divider, NavigationView, TabView, Alert, ActionSheet, EmptyView, AnyView, TupleView 등 굉장히 다양한 요소들이 존재한다. 이걸 전부 하나의 View에 담아보려고 했는데, TabView와 Navigatio..