[英]use of undeclared type 'MFMessageComposeViewControllerDelegate swift'
我试图实现使用MFMessageComposeViewController对象发送文本消息。 但是,当我尝试声明MFMessageComposeViewControllerDelegate协议时。 在ViewController.swift中,我得到以下错误: 使用未声明的类型'MFMessageComposeViewControllerDelegate swift'
ViewController.swift:
class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {
@IBAction func sendMessage(sender: AnyObject) {
var messageVC = MFMessageComposeViewController()
messageVC.body = "Enter a message";
messageVC.recipients = ["Enter tel-nr"]
messageVC.messageComposeDelegate = self;
self.presentViewController(messageVC, animated: false, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
有人可以帮帮我吗?
添加MessageUI
框架,
import UIKit
import MessageUI
class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {
}
希望它有所帮助
您只需要添加
import MessageUI
在您的快速文件的顶部。 另外,您最好添加支票
if MFMessageComposeViewController.canSendText()
在发送消息之前,不要忘记在委托方法中关闭消息控制器
func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {
dismissViewControllerAnimated(true, completion: nil)
}
您还需要委托来实施
func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {
switch result.rawValue {
case MessageComposeResultCancelled.rawValue:
print("message cancelled")
case MessageComposeResultFailed.rawValue:
print("message failed")
case MessageComposeResultSent.rawValue:
print("message sent")
default:
break
}
controller.dismissViewControllerAnimated(true, completion: nil)
}
认为这是有帮助的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.