5つのUITextfieldと1つのUItextviewを持つページがあります。これらは電子メールフォームです。電子メールを送信するボタンを押すと、テキストフィールドとテキストビューもクリアされます。電子メールのデータが収集された後でのみこれを行うことが非常に重要なので、電子メールは空ではありません。UITextfieldsをUIButtonでクリアする
はコード:ページの
@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
"電子メールのデータが収集された後でのみこれを行うことが非常に重要です。"データが収集されたことをどのように知っていますか?どこで収集?あなたは一見欠けているようにその部分を含めることができます。 –
申し訳ありません。私はそれがメールフォームであり、コードでは "メッセージボディ"と言い、すべてのテキストフィールドを結合します。つまり、データが収集され、電子メールに送られます。 –
メールが届かない場合はどうすればいいですか?私はあなたのコードにエラーチェックがあることに気付きましたが、それは他の問題をすべて保護していますか?また、ビューが正常に送信された後にそのビューを閉じ、オプションの「フィールドをクリア」ボタンを使用してフィールドにデータを残すこともできます。 –