iOS9 系统分享调用之UIActivityViewController

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

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

【 tulaoshi.com - 编程语言 】

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

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

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

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

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

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

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

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

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

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

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)  } } }

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

延伸阅读
iphone如何快速升级ios9   对于大部分果粉来说,每一次苹果系统大升级都是麻烦事,备份数据升级系统还原数据,一折腾就是半天,如何在升级手机系统的时候保留原来的资料成为大家最为关心的一个问题,今天我们就为大家介绍下怎么让你的设备在升级iOS9时资料不丢失,免去你备份还原麻烦。 开始之前,建议大家今后使用手机的时候...
ios9固件多大内存?   今天凌晨1点,苹果开始推送iOS9正式版了,看来咱们始终还是得配合美帝的时间去升级。iOS9升级项目列出来很多,但基本都是一个小修小补在做完善,并没有什么特别重大的创新。 第一天推送通常有很多人扎堆下载,容易导致服务器拥挤崩溃,但图老师小编一早7点半来到公司就通过OTA无线升级,发现下载速度还不错...
ios9查找朋友怎么删掉?   ios9查找朋友怎么删掉?ios9.0系统删除自带查找朋友应用 ios9安装速度就有点慢了,在iPhone 6 Plus上用了大约20分钟,加上下载的时间整个升级过程大概耗费了半小时左右。 iOS9安装完成后增加了查找朋友应用,又多了个删不掉的图标! ios9中查找朋友是无法删除的,如果想要删除还需越狱...
ios9分屏怎么用?   ios9正式版今天发布啦,新版系统新加了很多强大的功能,其中分屏多任务就是其中之一,ios9分屏功能为我们提供了更多的方式来畅享iPad和App带来的乐趣。iOS9的多任务功能这个新特性主要针对iPad设备,下面图老师图老师小编就来教大家ios9分屏怎么用。 iOS9多任务分屏功能主要分为三项:SlideOver、Split View...
iPhone ios9误删照片怎么找回   iPhone ios9误删照片怎么找回 iPhone ios9误删照片找回方法。在最新版本的iOS9中有了一个强大功能,就是可以将误删的照片找回了,从iOS8开始iOS系统就会将你删除过的照片放在一个单独的文件夹中,你只需找到这个文件夹就可以找回不小心删除的照片了。图老师小编详细为大家讲解一下怎么找回误删的照片...

经验教程

751

收藏

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