2015-05-13 6 views
1

Я пытаюсь создать кнопку совместного доступа к своей игре. Знаете, те, которые, когда вы нажимаете, являются всплывающим меню, придумывают ваши варианты. Мне было интересно, как я могу сделать разные варианты, сказать разные вещи. Мне также интересно, как я могу сделать «Сохранить в Camera Roll». Сообщение о моем коде ниже.Настроить содержимое в Share с помощью Swift

@IBAction func share(sender: UIButton) { 

    let firstActivity = "Yes! I scored \(ScoreNumber) in Dotcha! #dotcha @Snowcapps_Dev https://itunes.apple.com/us/app/dotcha!/id977870313?ls=1&mt=8" 

    let activityViewController : UIActivityViewController = UIActivityViewController(activityItems: [firstActivity], applicationActivities: il)   
    self.presentViewController(activityViewController, animated: true, completion: nil)   
} 
+0

Вы видели расширения Share, представленные в iOS8? Это могло бы помочь вам –

ответ

2

Если вы хотите, чтобы настроить текст для Twitter, Facebook, Mail и т.д., то вы можете наследовать от класса 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 и почты, но вы можете поместить больше, если вы хотите, это U p вам.

Я надеюсь, что это поможет вам.

+0

Я прочитал это, но это действительно не помогает мне с частью кода. Я пытаюсь создать другой текст для электронной почты, Twitter и Facebook. Я тоже делаю это быстро. –

+0

@CallumBondy См. Обновленный ответ, но вам нужно спросить, что именно вы хотите сделать, прежде чем комментировать свой вопрос слишком широк, чтобы точно знать, что именно вы хотите. –

Смежные вопросы