【问题标题】:Swift send a form to an email as a PDFSwift 将表单作为 PDF 发送到电子邮件
【发布时间】:2021-11-21 16:31:50
【问题描述】:

我在编码方面非常新,我只想制作一个小应用程序,其中有一个表格和一个发送按钮,如果你填写表格,所有数据都应该作为 pdf 格式并发送到电子邮件。我现在只有表格和名称,但我怎样才能将数据发送到电子邮件。最重要的一点是它是一个 pdf 文件。

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

【问题讨论】:

标签: swift swiftui


【解决方案1】:

这是一个例子。您可以根据需要进行修改;

   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)
   
   

【讨论】:

  • 在范围内找不到“NSSharingService”我该怎么办?
  • 在文件顶部添加 import Cocoa
猜你喜欢
  • 2020-09-03
  • 2012-07-02
  • 2013-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多