簡體   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