如何使用UIActivityViewController创建用户交互式推文或Facebook帖子

Gar*_*aye 12 twitter uiactivityviewcontroller swift

我想弄清楚如何创建一个用户互动帖子或类似SoundCloud的推文,如下所示:

(直接从Sound Cloud共享)

以黄色突出显示的部分是我感兴趣的部分,因为就UIActivityViewController(这是Sound Cloud用于此目的)而言,我可以分辨出唯一可用于共享的对象是图像和字符串.

此外,如果你点击黄色突出显示的部分,这个屏幕会弹出twitter:

在此输入图像描述

他们怎么做!?他们有一个暂停按钮和一切!

这是我尝试这样做的......

func displayShareSheet(shareContent:String) {

        let someView:CustomView = CustomView() // CustomView is a subclass of UIView

        let activityViewController = UIActivityViewController(activityItems: [someView], applicationActivities: nil)
        presentViewController(activityViewController, animated: true, completion: {})
    }
Run Code Online (Sandbox Code Playgroud)

......哪个不起作用.弹出UIActivityViewController工作表,未显示任何共享选项.

我知道有些人可能会认为这是一个广泛的问题,但如果你能够至少指出我正确的方向,我将非常感激.谢谢.

Gen*_*isa 2

这有效。要获得共享目的地的完整列表,请在您的设备而不是模拟器上运行它。模拟器为您提供了一个较小的列表。

func createActivityController() -> UIActivityViewController {
    let someText:String = textView.text

    let google = NSURL(string:"http://google.com/")!

    // let's add a String and an NSURL
    var activityViewController = UIActivityViewController(
        activityItems: [someText, google],
        applicationActivities: nil)

    activityViewController.completionHandler = {(activityType, completed:Bool) in
        if !completed {
            print("cancelled")
            return
        }

        if activityType == UIActivityTypePostToTwitter {
            print("twitter")
        }

        if activityType == UIActivityTypeMail {
            print("mail")
        }
    }

    // you can specify these if you'd like.
    //        activityViewController.excludedActivityTypes =  [
    //            UIActivityTypePostToTwitter,
    //            UIActivityTypePostToFacebook,
    //            UIActivityTypePostToWeibo,
    //            UIActivityTypeMessage,
    //            UIActivityTypeMail,
    //            UIActivityTypePrint,
    //            UIActivityTypeCopyToPasteboard,
    //            UIActivityTypeAssignToContact,
    //            UIActivityTypeSaveToCameraRoll,
    //            UIActivityTypeAddToReadingList,
    //            UIActivityTypePostToFlickr,
    //            UIActivityTypePostToVimeo,
    //            UIActivityTypePostToTencentWeibo
    //        ]

    return activityViewController
}
Run Code Online (Sandbox Code Playgroud)