
Form은 HStack이나 VStack과 유사하게 동작한다.
즉, Form 안에는 여러 뷰를 담을 수 있다.
하지만 특정 컨트롤 요소에 대햇 더 보기 좋고, 잘 동작하게 해준다.
- Form의 생성
@State var toggle = false
var body: some View {
NavigationView {
Form {
Toggle(isOn: $toggle) {
Text("알람 설정")
}
Button(action: {
}) {
Text("초기화")
}
}.navigationBarTitle(Text("Settings"))
}
}
- Secion 추가
@State var alarmToggle = false
@State var autoLoginToggle = false
var body: some View {
NavigationView {
Form {
Section(header: Text("스위치")) {
Toggle(isOn: $alarmToggle) {
Text("알람 설정")
}
Toggle(isOn: $autoLoginToggle) {
Text("자동 로그인")
}
}
Section(header: Text("버튼")) {
Button(action: {
}) {
Text("초기화")
}
Button(action: {
}){
Text("로그아웃")
}
}
}.navigationBarTitle(Text("Settings"))
}
}
- 비활성화와 숨기기
@State var alarmToggle = false
@State var autoLoginToggle = false
@State var disableButtonToggle = false
@State var hideButtonSectionToggle = false
var body: some View {
NavigationView {
Form {
Section(header: Text("스위치")) {
Toggle(isOn: $alarmToggle) {
Text("알람 설정")
}
Toggle(isOn: $autoLoginToggle) {
Text("자동 로그인")
}
Toggle(isOn: $disableButtonToggle) {
Text("초기화 버튼 활성화")
}.disabled(hideButtonSectionToggle)
Toggle(isOn: $hideButtonSectionToggle) {
Text("버튼 섹션 숨기기")
}
}
if (!hideButtonSectionToggle) {
Section(header: Text("버튼")) {
Button(action: {
}) {
Text("초기화")
}.disabled(disableButtonToggle)
Button(action: {
}) {
Text("로그아웃")
}
}
}
}.navigationBarTitle(Text("Settings"))
}
}
'iOS > 기초' 카테고리의 다른 글
URLSession 사용하기 (0) | 2022.03.21 |
---|---|
[Swift] url로 ImageView에 image 설정하기 (0) | 2022.03.18 |
SwiftUI 기초 - State, onTabGesture, withAnimation (0) | 2020.09.25 |
SwiftUI 기초 - Slider, Stepper, Picker (0) | 2020.09.25 |
SwiftUI 기초 - List (0) | 2020.09.25 |