MFMessageComposeViewController

MFMessageComposeViewController

我试图在自定义的Table VIEW Cype类中显示MFMaseGeMePosiVeWWER控制器,但是我得到一个错误:“从类UITababVIEW Cyter和UIViewController中继承多个继承权”,我知道MFMessageComposeViewController需要UIViewController,那么我怎么才能解决这个问题呢?
我的代码:

class TableViewCell: UITableViewCell, MFMessageComposeViewControllerDelegate {

  var userNumber: String!

 @IBAction func callButton(sender: AnyObject) {

    UIApplication.sharedApplication().openURL(NSURL(string: "telprompt://\(userNumber)")!)

}

@IBAction func textButton(sender: AnyObject) {

    let message = MFMessageComposeViewController()
    message.body = ""
    message.recipients = ["\(userNumber)"]
    message.messageComposeDelegate = self


}

func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {


}

最佳答案

您确实需要一个UIViewController来表示一个MFMessageComposeViewController。要解决您的问题,您可以将属性添加到您的TableViewCell

var viewController: UIViewController?

您需要在cellForRowAtIndexPath函数中分配当前的视图控制器-如果视图控制器是表视图的数据源,那么这将只是cell.viewController = self
然后,在textButton函数中,可以显示消息生成器:
self.viewController.presentViewController(message, true, nil)

如果您在didFinishWithResult中被解雇,请致电
self.viewController.dismissViewController(true, nil)

关于ios - UITableView中的MFMessageComposeViewController(Swift),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31862286/

10-14 10:06