繁体   English   中英

UITableView中的MFMessageComposeViewController(Swift)

[英]MFMessageComposeViewController in a UITableView (Swift)

我试图从自定义TableViewCell类中显示MFMessageComposeViewController,但出现错误消息:“从类UITableViewCell和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函数中,可以显示消息textButton

self.viewController.presentViewController(message, true, nil)

对于didFinishWithResult的解雇,只需调用

self.viewController.dismissViewController(true, nil)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM