前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS8新特性扩展(Extension)应用之一——Today扩展

iOS8新特性扩展(Extension)应用之一——Today扩展

作者头像
珲少
发布2018-08-16 11:29:28
4410
发布2018-08-16 11:29:28
举报

iOS8新特性扩展(Extension)应用之一——Today扩展

一、理解扩展

1、简介

        基于iOS系统的安全性考虑,其应用的数据存储是通过沙盒模式进行的,要实现应用之间的数据共享十分困难,功能共享就更加棘手。在iOS8系统中,apple为我们提供了一个革命性的功能:扩展。我们可以通过扩展来使app间数据甚至功能进行共享。

2、几种扩展模式
(1)今日视图扩展:today

        这个扩展也被叫做 widget。该扩展可以将今日发生的简短消息放到消息中心的「今日」视图里。这个功能类似于安卓系统中的小控件,只是安卓的可以直接放在桌面上,更加自由。示例如下:

(2)分享功能扩展

        该扩展允许应用向在线服务上传照片、链接或者其他文件。在以前版本中,我们若要实现分享功能,必须进行复杂的操作。

(3)个性操作

        通过这个功能,可以实现两个APP中共享一些内容,例如编辑文字中的图片,翻译网页中的文字。

(4)照片操作

        这个类型的扩展可以允许我们在ipone相机中拍摄的照片使用其他图片编辑软件进行编辑。

(5)文件分享

        该扩展可以让软件将文件保存在各种云存储服务商。

(6)自定义键盘

        允许用户使用第三方的键盘输入法。

二、ToDay扩展的创建

        扩展是一个独立的构成,和其有关的两个概念是宿主APP和主机APP,宿主APP是扩展存放的地方,与扩展可以实现资源共享,主机APP是扩展运行的程序,例如ToDay扩展有抽屉中的Today应用进行运行。要创建一个ToDay扩展,首先我们需要创建一个宿主APP:

新建一个工程:

选择xcode工具栏中的File->new->target

在Application Extension中有上面提到的6中扩展,我们选择Today。

这是我们的项目中会多了一个扩展的文件夹:

这个文件夹中有一个ViewController,我们可以在里面进行布局,还有一个plist文件,可是配置扩展的一些属性。

我们创建一个按钮:

 UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
    [btn setTitle:@"231" forState:UIControlStateNormal];
    [self.view addSubview:btn];

之后我们运行这个扩展:

xcode会让我们选择运行扩展的主机程序,因为这是一个today类型的扩展,我们选择Today:

运行后,在系统的通知抽屉中,就会出现我们的这个扩展:

同样,我们可以创建tableView,imageView以及其他复杂的视图效果,我们也可以编写很多逻辑功能,跳转APP等。

专注技术,热爱生活,交流技术,也做朋友。 ——珲少 QQ群:203317592

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/07/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iOS8新特性扩展(Extension)应用之一——Today扩展
    • 一、理解扩展
      • 1、简介
      • 2、几种扩展模式
    • 二、ToDay扩展的创建
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档