Ich habe eine Seite mit 5 UITextfields und 1 UItextview. Dies ist ein E-Mail-Formular, und ich möchte es so, wenn Sie den Knopf drücken, der die E-Mail sendet, löscht es auch die Textfelder und die Textansicht. Es ist sehr wichtig, dass dies nur geschieht, nachdem die Daten für die E-Mail gesammelt wurden, so dass die E-Mail nicht leer ist.Clearing UITextfields mit UIButton
Code:
@IBOutlet var text1: UITextField!
@IBOutlet var text2: UITextField!
@IBOutlet var text3: UITextField!
@IBOutlet var text4: UITextField!
@IBOutlet var text5: UITextField!
@IBOutlet var text6: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
self.text1.delegate = self
self.text2.delegate = self
self.text3.delegate = self
self.text4.delegate = self
self.text5.delegate = self
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func sendEmail(sender: AnyObject) { let mailComposeViewController = configuredMailComposeViewController()
if MFMailComposeViewController.canSendMail() {
self.presentViewController(mailComposeViewController, animated: true, completion: nil)
} else {
self.showSendMailErrorAlert()
}
func configuredMailComposeViewController() -> MFMailComposeViewController {
let mailComposerVC = MFMailComposeViewController()
mailComposerVC.mailComposeDelegate = self // Extremely important to set the --mailComposeDelegate-- property, NOT the --delegate-- property
let messageBody = text1.text!+"\n"+text2.text!+"\n"+text3.text!+"\n"+text4.text!+"\n"+text5.text!+"\n"+text6.text!
mailComposerVC.setToRecipients(["[email protected]"])
mailComposerVC.setSubject("New Dumpster")
mailComposerVC.setMessageBody(messageBody, isHTML: false)
return mailComposerVC
"Es ist sehr wichtig, dass dies nur geschieht, nachdem die Daten für die E-Mail gesammelt wurden". Woher weiß man, dass die Daten gesammelt wurden? Gesammelt wo? Möglicherweise möchten Sie diesen Teil einfügen, da er scheinbar fehlt. –
Entschuldigung. Wie ich bereits erwähnt habe, ist es ein Mailformular, und im Code steht "messagebody" und fasst alle Textfelder zusammen, dh wenn die Daten gesammelt und in eine E-Mail eingegeben werden. –
Was passiert, wenn die E-Mail nicht durchgeht? Ich habe festgestellt, dass Sie eine Fehlerüberprüfung in Ihrem Code durchgeführt haben, obwohl dies allumfassend ist, um andere Probleme zu vermeiden? Sie können die Ansicht auch nach dem erfolgreichen Senden abbrechen und die Daten in den Feldern möglicherweise mit einer optionalen Schaltfläche "Felder löschen" belassen. –