Skip Fuse is now free for indie developers!
skip.tools logo

Form

Skip support for SwiftUI.Form on Android. Consult the SkipUI module for a complete list of supported SwiftUI.

The following example screens and source code is from SkipUI’s Showcase sample app FormPlayground.swift

Android screenshot for Form component (light mode) iPhone screenshot for Form component (light mode) iPhone screenshot for Form component (dark mode) Android screenshot for Form component (dark mode)
import SwiftUI
struct FormPlayground: View {
 @State var stringValue = ""
 @State var boolValue = false
 @State var dateValue = Date.now
 @State var pickerValue = "Two"
 let pickerValues = ["One", "Two", "Three"]
 var body: some View {
 List {
 Label("Label", systemImage: "star.fill")
 Label("Label .font(.title)", systemImage: "star.fill")
 .font(.title)
 Label("Label .foregroundStyle(.red)", systemImage: "star.fill")
 .foregroundStyle(.red)
 Label("Label .tint(.red)", systemImage: "star.fill")
 .tint(.red)
 Label("Label .listItemTint(.red)", systemImage: "star.fill")
 .listItemTint(.red)
 NavigationLink(value: "Test") {
 Label("Label in NavigationLink", systemImage: "star.fill")
 }
 Button("Button .automatic", action: { logger.info("Tap") })
 Button("Button .bordered", action: { logger.info("Tap") })
 .buttonStyle(.bordered)
 Button(action: { logger.info("Tap") }) {
 HStack {
 Text("Complex content button")
 Spacer()
 Button("Inner button", action: { logger.info("Tap inner") })
 }
 }
 ButtonRow()
 DatePicker("DatePicker", selection: $dateValue)
 DatePicker("DatePicker .disabled", selection: $dateValue)
 .disabled(true)
 Picker("Picker", selection: $pickerValue) {
 ForEach(pickerValues, id: \.self) {
 Text(0ドル)
 }
 }
 #if os(macOS)
 #else
 Picker("Picker .navigationLink", selection: $pickerValue) {
 ForEach(pickerValues, id: \.self) {
 Text(0ドル)
 }
 }
 .pickerStyle(.navigationLink)
 #endif
 Picker("Picker .disabled", selection: $pickerValue) {
 ForEach(pickerValues, id: \.self) {
 Text(0ドル)
 }
 }
 .disabled(true)
 Text("Picker .labelsHidden (below)")
 Picker("Label", selection: $pickerValue) {
 ForEach(pickerValues, id: \.self) {
 Text(0ドル)
 }
 }
 .labelsHidden()
 Picker("Picker .foregroundStyle(.red)", selection: $pickerValue) {
 ForEach(pickerValues, id: \.self) {
 Text(0ドル)
 }
 }
 .foregroundStyle(.red)
 Picker("Picker .tint(.red)", selection: $pickerValue) {
 ForEach(pickerValues, id: \.self) {
 Text(0ドル)
 }
 }
 .tint(.red)
 Toggle(isOn: $boolValue) {
 Text("Toggle")
 }
 TextField("Text field", text: $stringValue)
 }
 .toolbar {
 PlaygroundSourceLink(file: "ListControlsPlayground.swift")
 }
 .navigationDestination(for: String.self) { value in
 Text(value)
 }
 }
 struct ButtonRow: View {
 var body: some View {
 Button("Button in custom view") {
 logger.info("Tap")
 }
 }
 }
}

AltStyle によって変換されたページ (->オリジナル) /