Form
- ๋ทฐ๋ฅผ ํฌํจ ์ํฌ ์ ์๋ Containe
- Control์ ๊ทธ๋ฃนํ ํ ์ ์์. ํน์ ์ปจํธ๋กค์ ๋ํด ์ง์ ๋ UI๋ฅผ ๋ณด์ฌ์ค. ์๋ ๊ธ ์ฐธ๊ณ
- ์ฃผ๋ก ์ค์ ํ๋ฉด์ด๋ ๊ธฐ๋ณธ ์ฑ์ ๋ฆฌ์คํธ์์ ์ฌ์ฉ๋จ
- Form ์์ญ ์คํฌ๋กค๋ง ๊ฐ๋ฅ
struct Form<Content> where Content : View
์ฝ๋ ์ ์ฒด ๊น ํ๋ธ ๋งํฌ
Group
- ํผ์ ์ต๋ 10๊ฐ์ ๋ทฐ๋ฅผ ํฌํจ ํ ์ ์๊ธฐ ๋๋ฌธ์ Group ์ ์ฌ์ฉํ๋ฉด ๋ ๋ง์ ๋ทฐ๋ฅผ ํฌํจ ์ํฌ ์ ์์
Form {
Group {
Text("Hello, world! 1")
Text("Hello, world! 2")
Text("Hello, world! 3")
Text("Hello, world! 4")
Text("Hello, world! 5")
Text("Hello, world! 6")
Text("Hello, world! 7")
}
Group {
Text("Hello, world! 8")
Text("Hello, world! 9")
Text("Hello, world! 10")
Text("Hello, world! 11")
Text("Hello, world! 12")
Text("Hello, world! 13")
Text("Hello, world! 14")
}
}
Section
Form {
Section {
Text("1")
Text("2")
}
Section {
Text("3")
Text("4")
}
}
- Section์ ์ฌ์ฉํด์ ์์ญ์ ๋ถํ ํ ์ ์์
Section์ ํ์ดํ ์ง์ ํ๊ธฐ
Form {
Section("์ฒซ ๋ฒ์งธ ๋ฉ๋ด") {
Text("1")
Text("2")
}
Section("๋ ๋ฒ์งธ ๋ฉ๋ด") {
Text("3")
Text("4")
}
}
- ์น์ ๊ฐ ์๋จ์ ํ์ดํ์ด ์์ฑ๋ ๊ฒ์ ํ์ธ ํ ์ ์์ผ๋ฉฐ ์ต์ ๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์๋ตํ ์ ์์
Controls
Button
Button("๋ฒํผ") {
print("test")
}
@State var isOn = true
//.. ์๋ต
Button("๋ฒํผ") {
print("test")
}.disabled(!isOn)
- disabled๋ฅผ ์ด์ฉํด์ ๋ฒํผ์ ๋นํ์ฑํ ์์ผ ์ค ์ ์์
Toggle
Toggle(isOn: $isOn) {
Text("ํ ๊ธ")
}
Picker
enum Food {
case noodle
case apple
case rice
var title: String {
switch self {
case .noodle:
return "๊ตญ์"
case .apple:
return "์ฌ๊ณผ"
case .rice:
return "์๋ฐฅ"
}
}
}
@State var menu = Food.noodle
// ์๋ต
Picker("์ค๋์ ๋ฉ๋ด", selection: $menu) {
Text(Food.noodle.title).tag(Food.noodle)
Text(Food.apple.title).tag(Food.apple)
Text(Food.rice.title).tag(Food.rice)
}
TextField
@State var name = ""
// ...์๋ต
TextField("์ด๋ฆ์ ์
๋ ฅํ์ธ์.", text: $name)
- ์ฌ์ฉ์์ ํค๋ณด๋ ์ ๋ ฅ์ ๋ฐ์ ์ ์๋ TextField๋ฅผ ํฌํจ ์ํฌ ์ ์์
์ฐธ๊ณ ์ฌ์ดํธ
https://www.hohyeonmoon.com/blog/swiftui-tutorial-form/
https://ios-development.tistory.com/1096
https://www.simpleswiftguide.com/swiftui-form-tutorial-how-to-create-and-use-form-in-swiftui/
'iOS ๐ > SwiftUI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SwiftUI] TextField Keyboard Type ํค๋ณด๋ ํ์ ์ ๋ฆฌ (0) | 2023.03.20 |
---|---|
[SwiftUI] info plist contained no UIScene configuration ์๋ฌ ๋ฐ๊ฒฝ์ฐ (0) | 2023.03.19 |
[SwiftUI] TextField format ์ฌ์ฉํ๊ธฐ (0) | 2023.03.19 |
[iOS/SwiftUI] ForEach (0) | 2023.03.18 |
[iOS/SwiftUI] NavigationStack (0) | 2023.03.15 |