如何在iOS 9中创建分享按钮?

8
在我的应用程序中,我想创建一个分享按钮,包括WhatsApp、Facebook、Twitter和邮件等选项。以下是我的代码:
-(IBAction)share:(id)sender
{
NSString *shareText = @"Hi This is a Reward Game App";
NSArray *itemsToShare = @[shareText];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:itemsToShare applicationActivities:nil];
activityVC.excludedActivityTypes = @[UIActivityTypePostToWeibo,UIActivityTypePostToTwitter,UIActivityTypePostToFacebook,UIActivityTypeMail,UIActivityTypeMessage,UIActivityTypeAssignToContact,UIActivityTypePostToTencentWeibo];
[self presentViewController:activityVC animated:YES completion:nil];
}

我正在编写代码,我的模拟器显示如下:

enter image description here

它只显示邮件和Facebook图标,我想要像这样有Whatsup图标消息。

可能是如何向UIActivityViewController添加自定义按钮?的重复问题。 - RJV Kumar
2
你无法在模拟器中查看所有应用程序。你必须在设备上运行你的应用程序。 - kb920
3个回答

16
-(IBAction)shareAction:(id)sender
 {    
        NSArray* sharedObjects=[NSArray arrayWithObjects:@"sharecontent",  nil];
        UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:sharedObjects applicationActivities:nil];
        activityViewController.popoverPresentationController.sourceView = self.view;
        [self presentViewController:activityViewController animated:YES completion:nil];
 }

0

Swift 4.2

func shareMessage(message: String, link: String) {
    if let link = NSURL(string: link) {
        let objectsToShare = [message, link] as [Any]
        let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
        present(activityVC, animated: true, completion: nil)
    }
}

调用这个函数:

shareMessage(message: "Hello World!", link: "https://www.apple.com/")

输出:

enter image description here


这并没有回答楼主的问题。他想展示其他应用程序的操作,比如 WhatsApp,这只有在实际设备上才能展示。 - Raptor

0

swift 4.2 那段代码现在可以运行了

        let text = "race"
        let url = "https://medium.com/@javedmultani16/share-text-image-and-url-by-using-uiactivityviewcontroller-in-swift-4eb253e43d55"
        let shareAll = [text, url] as [Any]
        let activityViewController = UIActivityViewController(activityItems: shareAll, applicationActivities: nil)
        activityViewController.popoverPresentationController?.sourceView = self.view
        self.present(activityViewController, animated: true, completion: nil)

请始终将您的答案放在上下文中,而不仅仅是粘贴代码。有关更多详细信息,请参见此处 - gehbiszumeis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接