如果您想自定义的Twitter,Facebook,邮件等文字时,您可以通过以下方式从类UIActivityItemProvider
继承:
class CustomProvider : UIActivityItemProvider {
var facebookMessage : String!
var twitterMessage : String!
var emailMessage : String!
init(placeholderItem: AnyObject, facebookMessage : String, twitterMessage : String, emailMessage : String) {
super.init(placeholderItem: placeholderItem)
self.facebookMessage = facebookMessage
self.twitterMessage = twitterMessage
self.emailMessage = emailMessage
}
override func item() -> AnyObject! {
switch (self.activityType!) {
case UIActivityTypePostToFacebook:
return self.facebookMessage
case UIActivityTypePostToTwitter:
return self.twitterMessage
case UIActivityTypeMail:
return self.emailMessage
default:
return "Any Message"
}
}
}
然后你就可以在调用UIActivityViewController
例如通过以下方式:
let firstActivityItem = CustomProvider(placeholderItem: "Default", facebookMessage: "Facebook", twitterMessage: "Twitter", emailMessage: "Mail")
let secondActivityItem : NSURL = NSURL(string: "http://www.google.com")!
let image : UIImage = UIImage(named: "nameofYOurImage.ext")!
let activityViewController : UIActivityViewController = UIActivityViewController(
activityItems: [firstActivityItem, secondActivityItem, image], applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: nil)
在CustomProvider
类我只设置Facebook,Twitter和邮件,但你可以把更多的,如果你想,这是ü p给你。
我希望这对你有所帮助。
您是否看到过iOS8中引入的Share Extensions?它可以帮助你 –