iOS - UIActivityViewController

本文介绍了iOS中UIActivityViewController的使用,包括如何创建系统提供的分享控制器,自定义分享内容,以及如何手动执行各种分享操作,如分享到社交媒体、发送邮件和短信等。
摘要由CSDN通过智能技术生成

前言

    NS_CLASS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED @interface UIActivityViewController : UIViewController
    @available(iOS 6.0, *)                         public class UIActivityViewController : UIViewController
  • UIActivity 是 iOS 6.0 开始的一个十分有用的控件,可以十分方便的将文字、图片等内容进行分享,比如分享到微信、新浪微博、发邮件、发短信等。我们不仅可以分享内容出来,也可以在自己的 App 里添加自定义的分享按钮或者隐藏已有的分享按钮来实现定制的功能。

1、系统 activityViewController 的创建

  • Objective-C

        // 设置分享的内容
        NSString *textToShare = @"请大家登录《iOS云端与网络通讯》服务网站。";
        UIImage *imageToShare = [UIImage imageNamed:@"swift"];
        NSURL *urlToShare = [NSURL URLWithString:@"http://m.baidu.com"];
    
        // 创建分享视图控制器
        /*
            activityItems:             分享的内容
            applicationActivities:    分享的类型,默认(nil)时为 UIActivity
        */
        UIActivityViewController *activityViewController = [[UIActivityViewController alloc] 
                                                                     initWithActivityItems:@[textToShare, imageToShare, urlToShare] 
                                                                     applicationActivities:nil];
    
        // 设置不出现的分享按钮
        /*
            Activity 类型又分为 “操作” 和 “分享” 两大类:
    
                UIActivityCategoryAction 操作:
                    UIActivityTypeAirDrop              AirDrop                AirDrop
                    UIActivityTypePrint                打印                    Print
    
                    UIActivityTypeSaveToCameraRoll     保存到相册               Save Image
                    UIActivityTypeAssignToContact      添加到联系人             AssignToContact
                    UIActivityTypeAddToReadingList     添加到 Safari 阅读列表   AddToReadingList
                    UIActivityTypeCopyToPasteboard     复制到剪贴板             Copy
    
                UIActivityCategoryShare 分享:
                    UIActivityTypeMail                 邮箱                    Mail
                    UIActivityTypeMessage              短信                    Message
    
                    UIActivityTypePostToTwitter        分享到 Twitter
                    UIActivityTypePostToFacebook       分享到 Facebook
                    UIActivityTypePostToVimeo          分享到 Vimeo(视频媒体)
                    UIActivityTypePostToFlickr         分享到 Flickr(网络相簿)
                    UIActivityTypePostToWeibo          分享到 新浪微博
                    UIActivityTypePostToTencentWeibo   分享到 腾讯微博
    
            添加到此数组中的系统分享按钮项将不会出现在分享视图控制器中
        */
        activityViewController.excludedActivityTypes = @[UIActivityTypeAssignToContact, 
                                                         UIActivityTypePrint];
    
        // 显示分享视图控制器
        [self presentViewController:activityViewController animated:YES completion:nil];
    
        // 分享完成
        activityViewController.completionWithItemsHandler = ^(NSString *activityType, BOOL completed, 
                                                              NSArray *returnedIte
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值