iOS9 系统分享调用之UIActivityViewController

2016-02-19 10:55 81 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的iOS9 系统分享调用之UIActivityViewController懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

UIActivityViewController类是一个标准的view controller,通个使用这个controller,你的应用程序就可以提供各种服务。

系统提供了一些通用的标准服务,例如拷贝内容至粘贴板、发布一个公告至社交网、通过email或者SMS发送内容。

应用程序同样可以自定义服务。(我的微信分享就属于自定义服务, 之后将会写一篇教程介绍)

你的应用程序负责配置、展现和解雇这个view controller。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

viewcontroller的配置涉及到viewcontroller需要用到的具体的数据对象。(也可以指定自定义服务列表,让应用程序支持这些服务)。

在展现view controller时,必须根据当前的设备类型,使用适当的方法。在iPad上,必须通过popover来展现view controller。在iPhone和iPodtouch上,必须以模态的方式展现。

昨天有网友说我写的那段系统分享代码在iOS9上有warning,看下了原来ios8之后UIPopoverController被废弃了。新增加的UIPopoverPresentationController在控制PopView上更简单好用。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

下面是我修改之后的代码:

1. 在app内以子视图方式打开其他app预览,仅支持6.0以上

openAppWithIdentifier(appId: String)

2. 分享文字图片信息,ipad上会以sourceView为焦点弹出选择视图

share(textToShare: String, url: String, image: UIImage, sourceView: UIView)/// 在app内以子视图方式打开其他app预览,仅支持6.0以上 private func openAppWithIdentifier(appId: String) { if let _ = NSClassFromString("SKStoreProductViewController") {  let storeProductViewController = SKStoreProductViewController()  storeProductViewController.delegate = self  let dict = NSDictionary(object:appId, forKey:SKStoreProductParameterITunesItemIdentifier) as! [String : AnyObject]  storeProductViewController.loadProductWithParameters(dict, completionBlock: { (result, error) - Void in//  self.presentViewController(storeProductViewController, animated: true, completion: nil)  })  self.presentViewController(storeProductViewController, animated: true, completion: nil) }else {  UIApplication.sharedApplication().openURL(NSURL(string: "itms-apps://itunes.apple.com/app/id(appId)")!) } } /// 分享文字图片信息,ipad上会以sourceView为焦点弹出选择视图 private func share(textToShare: String, url: String, image: UIImage, sourceView: UIView) { let objectsToShare = [textToShare, url, image] let activityViewController = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil) if UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Phone {  self.presentViewController(activityViewController, animated: true, completion: nil) }else {  let popover = activityViewController.popoverPresentationController  if (popover != nil){  popover?.sourceView = sourceView  popover?.sourceRect = sourceView.frame  popover?.permittedArrowDirections = UIPopoverArrowDirection.Any  self.presentViewController(activityViewController, animated: true, completion: nil)  } } }

来源:http://www.tulaoshi.com/n/20160219/1596115.html

延伸阅读
ios9固件多大内存?   今天凌晨1点,苹果开始推送iOS9正式版了,看来咱们始终还是得配合美帝的时间去升级。iOS9升级项目列出来很多,但基本都是一个小修小补在做完善,并没有什么特别重大的创新。 第一天推送通常有很多人扎堆下载,容易导致服务器拥挤崩溃,但图老师小编一早7点半来到公司就通过OTA无线升级,发现下载速度还不错...
ios9查找朋友怎么删掉?   ios9查找朋友怎么删掉?ios9.0系统删除自带查找朋友应用 ios9安装速度就有点慢了,在iPhone 6 Plus上用了大约20分钟,加上下载的时间整个升级过程大概耗费了半小时左右。 iOS9安装完成后增加了查找朋友应用,又多了个删不掉的图标! ios9中查找朋友是无法删除的,如果想要删除还需越狱...
如何解决苹果IOS9系统偷跑流量的问题?   苹果IOS系统偷跑流量已经不是什么新闻了,很多用户在随着IOS9系统的升级,越来越明显感到IOS系统会偷偷跑流量的问题,虽然在有wifi环境的用户感觉不出来,但是对于使用4G流量上网的用户对偷跑流量的问题非常的头痛,那么在我们IOS系统下是什么在跑流量?我们应该如何杜绝手机自动跑流量呢?下面...
ios9分屏怎么开启?   iOS9多任务分屏功能主要分为三项:SlideOver、Split View以及画中画。 1、Slide Over功能,可让用户在两个应用之间快速切换,该功能支持在iPad Air、iPad Air2、iPad mini2、iPad mini3上实现。 2、Split View功能,可以把屏幕分成两部分,支持同时运行两个应用。此功能目前仅支持在iPad Air2。...
ios9分屏怎么用?   ios9正式版今天发布啦,新版系统新加了很多强大的功能,其中分屏多任务就是其中之一,ios9分屏功能为我们提供了更多的方式来畅享iPad和App带来的乐趣。iOS9的多任务功能这个新特性主要针对iPad设备,下面图老师图老师小编就来教大家ios9分屏怎么用。 iOS9多任务分屏功能主要分为三项:SlideOver、Split View...

经验教程

563

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部