我正在尝试弄清楚如何创建类似于下面 SoundCloud 的用户交互式帖子或推文:
以黄色突出显示的部分是我感兴趣的部分,因为据我所知,当涉及到 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: {})
}
...这是行不通的。弹出 UIActivityViewController 工作表,但未指示任何共享选项。
我知道有些人可能认为这是一个宽泛的问题,但如果您至少能为我指出正确的方向,我将不胜感激。谢谢。
最佳答案
这行得通。要获得共享目的地的完整列表,请在您的设备上运行它,而不是在模拟器上运行。模拟器为您提供了一个较小的列表。
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
}
关于swift - 如何使用 UIActivityViewController 创建用户交互式推文或 Facebook 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820445/