[英]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.