itemForActivityType 未被调用

Tej*_*hna 4 xcode uiactivityviewcontroller swift

我刚刚为共享助手制作了一个包装类,我的代码如下。

let activityVC = UIActivityViewController(activityItems: [message], applicationActivities: nil)

 activityVC.setValue(subject, forKey: "subject")
activityVC.completionWithItemsHandler = {(activityType: String!, completed:Bool, objects:[AnyObject]!, error:NSError!) in
}
fromVC.presentViewController(activityVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

问题从这里开始,未调用 UIActivityItemSource 方法

override func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
            switch activityType
            {
            case UIActivityTypeMail:
                return msg
            case UIActivityTypeMessage:
                return msg
            case UIActivityTypePostToFacebook:
                return msg
            case UIActivityTypePostToTwitter:
                return strTwitterShare
            default:
                return msg
            }

        }
Run Code Online (Sandbox Code Playgroud)

感谢帮助

小智 6

如果您使用 let activityVC = UIActivityViewController(activityItems: [self], applicationActivities: nil),它应该可以工作

...然后您的消息在您的 itemForActivityType 方法中提供。