0

im very new in coding and I just want to make a little app where there is a form and a send button if you fill in the form all the data should be made as a pdf and sendet to an email. I just have the form and the names now but how can I make it that the data send to an email. its nit very important that it is as an pdf for the beginning.

import SwiftUI

struct ContentView: View {

//    Tour Daten
    @State private var tournummer = ""
//    Fahrer Daten
    @State private var fahrernachname = ""
    @State private var fahrervorname = ""
    @State private var fahrergeburtstag = Date()
//    Kunden Daten
    @State private var kundenachname = ""
    @State private var kundevorname = ""
    @State private var kundegeburtstag = Date()
//    Fahrzeug Daten
    @State private var kilometerstand = ""
//    Ausstattung
    @State private var warnweste = false
    @State private var anzahlschlüßel = 1
    @State private var bereifung = "Winterreifen"
    
    var body: some View {
        NavigationView{
        Form {
            
//            Auftragsinformationen
            Section(header:  Text("Auftrags informationen")){
                TextField("Tour Nummer", text: $tournummer)
            }
            
//            Fahrer Daten
            Section(header:  Text("Fahrer Daten")){
                TextField("Nachname", text: $fahrernachname)
                TextField("Vorname", text: $fahrervorname)
                DatePicker("Geburtstag", selection: $fahrergeburtstag, displayedComponents: .date)
            }

//            Kunden Daten
            Section(header:  Text("Kunden Daten")){
                TextField("Nachname", text: $kundenachname)
                TextField("Vorname", text: $kundevorname)
                DatePicker("Geburtstag", selection: $kundegeburtstag, displayedComponents: .date)
            }

//            Fahrzeug Daten
            Section(header: Text("Fahrzeug Daten")){
                TextField("Kilometerstand", text: $kilometerstand)


            }
            
//            Ausstattung
            Section(header: Text("Ausstattung")){
                
                Toggle("Warnweste Vorhanden", isOn: $warnweste)
                
                Stepper("Schlüßel: \(anzahlschlüßel)", value: $anzahlschlüßel, in: 1...5)
                
                Picker(
                    selection: $bereifung,
                    label: Text("Bereifung:"),
                    content: {
                    Text("Winterreifen").tag("Winterreifen")
                    Text("Sommerreifen").tag("Sommerreifen")
                    Text("Allwetterreifen").tag("Allwetterreifen")
                       })

            }
            
//            Fahrzeug Bilder
            Section(header: Text("Fahrzeug Fotos")){
                Text("fotos hier einfügen omar muss googlen wie das geht hahaha")
            }
        
//            Hilfe und Service (in den footer legen!!!)
            Section(header: Text("Hilfe und Service")){
                Link("..-Logistik Webseite", destination: URL(string: "https://www.logistik....de")!)
            }
            
            Section(header: Text("®..-Logistik")){}
            
            }
            
//            (Form ende) Nav Bar
            .navigationTitle("MM-Logistik Protokoll")
            .toolbar {
                ToolbarItemGroup(placement: .navigationBarTrailing){
                    Button{
                        hideKeyboard()
                    } label: {
                        Image(systemName:"chevron.down")
                    }
                }
            }
        }
    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
            .preferredColorScheme(.dark)
.previewInterfaceOrientation(.portrait)
    }
}

//  Keyboard Hide
#if canImport(UIKit)
extension View{
    func hideKeyboard(){
        UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
    }
}
#endif
Joakim Danielson
  • 43,251
  • 5
  • 22
  • 52

1 Answers1

0

Here's an example. You can modify as needed;

   let sharingService = NSSharingService(named: NSSharingService.Name.composeEmail)
  
    sharingService?.subject = "your subject field"
    var items = [Any]()
   
    items.append(variableWithYourFormDataAsString) // you can add more items
    sharingService?.perform(withItems: items)
   
   
john elemans
  • 2,578
  • 2
  • 15
  • 26