iOS8新特性扩展(Extension)应用之一Today扩展无标题文章

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 = [[UIButtonalloc]initWithFrame:CGRectMake(0,0,100,30)];    [btn setTitle:@"231"forState:UIControlStateNormal];    [self.view addSubview:btn];

之后我们运行这个扩展:

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在做一个记事类的App,其中有一个想实现的功能就是希望能够在通知中心查看自己的一些记事内容。正好也是之前写了一...
    水哥阅读 12,589评论 8 56
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • iOS8.0加入了扩展,iOS10苹果又增加了很多扩展。在今后,程序中会集成越来越多的扩展功能。 今天主要来模仿1...
    fou7阅读 14,439评论 7 47
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,260评论 25 709
  • 让我做一条七彩鱼吧 只拥有七秒的记忆 一秒瞻仰天空星 一秒俯瞰汪洋海 一秒贴花黄 一秒理红妆 一秒等风来 一秒看花...
    AH的啊哈哈阅读 1,027评论 2 1