iOS 3D Touch使用<一、 Home Screen Quick Actions使用>

原创 2016年02月25日 21:57:47

iOS 在6s/6s plus中加入了的3D Touch技术,该技术的功能主要有3个:

1、Home Screen Quick Actions :主屏幕上按icon图标出现快捷选项,然后选择对应选项则会快速进入设定好的页面中

2、提供peek(预览)和pop(详阅、敲击)功能 :启动app之后,可以设置某些页面支持预览和快速回复功能,例如微信点击和某个人的对话就能实现预览

3、iOS9 之后给UITouch对象加入了 压力大小监测的属性force


先讲第一个功能:

效果图:


有两种发式一种是静态方式、一种是动态方式

静态方式就是在plist文件中配置好,当你的app安装之后就可以使用这个功能

动态方式就是用代码创建,所有必需启动app一次之后才能使用这个功能

由于静态方式方便就直讲静态方式:

在plist文件中配置一些快捷项属性

<array>

<dict>

<key>UIApplicationShortcutItemTitle</key>

<string>智能开门</string>

<key>UIApplicationShortcutItemUserInfo</key>

<dict>

<key>key1</key>

<string>value1</string>

</dict>

<key>UIApplicationShortcutItemType</key>

<string>openDoor</string>

            <key>UIApplicationShortcutItemIconFile</key>

            <string>智能开门@2x.png</string>

</dict>

<dict>

<key>UIApplicationShortcutItemTitle</key>

<string>我要报修</string>

<key>UIApplicationShortcutItemUserInfo</key>

<dict>

<key>key2</key>

<string>value2</string>

</dict>

<key>UIApplicationShortcutItemType</key>

<string>repair</string>

<key>UIApplicationShortcutItemIconFile</key>

<string>在线报修@2x.png</string>

</dict>

<dict>

<key>UIApplicationShortcutItemTitle</key>

<string>访客邀请</string>

<key>UIApplicationShortcutItemUserInfo</key>

<dict>

<key>key3</key>

<string>value3</string>

</dict>

<key>UIApplicationShortcutItemType</key>

<string>invite</string>

<key>UIApplicationShortcutItemIconFile</key>

<string>访客邀请@2x.png</string>

</dict>

<dict>

<key>UIApplicationShortcutItemTitle</key>

<string>社区服务</string>

<key>UIApplicationShortcutItemUserInfo</key>

<dict>

<key>key4</key>

<string>value4</string>

</dict>

<key>UIApplicationShortcutItemType</key>

<string>communityService</string>

<key>UIApplicationShortcutItemIconFile</key>

<string>社区服务@2x.png</string>

</dict>

</array>



UIApplicationShortcutItemType :当点击Icon图标的时候,弹出的选项中每一行设置一个唯一的ID 然后在app里面通过该id判断来确定选择了哪一行(必需有)。

UIApplicationShortcutItemTitle 点击之后弹出的选项中的主标题(必需有)

UIApplicationShortcutItemSubtitle 选项中的副标题。

UIApplicationShortcutItemIconType 利用系统库提供的图标 (UIApplicationShortcutIcon 里面的)。

UIApplicationShortcutItemIconFile 自定义图标,该图标是正方形的、单色的、像素点为35x35,如果这里设置了自定义的图标,设置的UIApplicationShortcutItemIconType属性显示系统图标将不会显示。

UIApplicationShortcutItemUserInfo :是一个字典 用来保存app的版本信息


plist文件配置好之后 上面的效果图就做出来了。
怎么实现点击的那一行对于的功能?
说明:在点击Icon图标快捷项都时候,有两种情况,一种是app没启动,一种是app启动之后在后台挂起的。
第一种情况app没启动,通过快捷项启动app并跳转到指定的页面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

{

UIApplicationShortcutItem *shortItem = [launchOptions objectForKey:UIApplicationLaunchOptionsShortcutItemKey];

    if (shortItem != nil) {

// _options是个字典主要是用来传递快捷项的type 然后在页面启动完成了之后,我是在

-(void)viewDidAppear:(BOOL)animated方法里面进行页面跳转的。

        _options = launchOptions;

        return NO;

    }

    else

    {

        //非快捷项启动

        _options = nil;

        return YES;

    }

}

注意:didFinishLaunchingWithOptions 这个方法要返回NO 避免重复逻辑操作。


第二中情况:app处于后台挂起状态,在代理方法

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler


在这个方法里面发送通知就可以进行页面跳转。


注意:在iOS 9中,一个应用最多能展示四个主屏快速选项。在这个限制下,系统首先展示静态快速选项,以plist菜单中的第一个为首。如果你的静态选项不够四个,并且你也定义了动态快速选项,那么会展示一个或多个动态快速选项。

两种快速选项都可以显示最多两行文本和一个可选的图标。系统会格式化文本,排列包装它,并且适当的添加省略号。





版权声明:本文为博主原创文章,未经博主允许不得转载。

【Redis基础】Redis在项目中实战

redis搭建,集群搭建,多属于运维知识,基本了解就可以。但是在项目如何让redis发挥它的特长就属于我们需要掌握和探索的。接下来讲解一下在项目中如何使用redis来做缓存的。   适用场景 什...
  • u010539352
  • u010539352
  • 2016年06月30日 08:32
  • 8025

2017:驻足、回首与跨越

今天是今年的最后一天,一年就又要过去了。而今年也是我的本命年,民间传统的说法叫 “槛儿年”,即度过本命年如同迈进一道槛儿一样,意喻不太顺的意思,容易磕绊着。今年确实磕绊了一下,做了人生第一次全麻手术,...
  • u8i7s7K5bV
  • u8i7s7K5bV
  • 2017年12月31日 00:00
  • 69

3D Touch 的实现和系统分享功能

3D Touch其实就是快速进入指定app界面的一种方式。 下面和大家分享一下简单的实现 1、静态标签 静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序...
  • yishengzhiai005
  • yishengzhiai005
  • 2016年12月07日 15:30
  • 1829

ios9 如何集成ios9 里面的3D Touch

1.前言     随着6S的到来,3DTouch被各大热门APP迅速普及,博主亲自体验后,发现使用便捷性大幅提高,随后自己照着文档,写了个Demo出来,分享给大家,希望能对有需要的朋友提供有一些帮助。...
  • zhaoyya
  • zhaoyya
  • 2015年12月28日 09:23
  • 273

16年,平凡而又收获的一年

16年,平凡而又收获的一年岁月如水,时间飞逝,转眼间,已经到了年尾,即将引来新的一年,我要赶紧抓住16年的尾巴,写篇文章记录一下我16年的点点滴滴。篇章大概如下,学习&工作室篇,实习篇,盛夏六月, 博...
  • gdutxiaoxu
  • gdutxiaoxu
  • 2016年12月31日 22:01
  • 3909

iOS9 3D Touch入门与实践

在iOS 9中,新iPhone将第三维度添加到了用户界面。 用户现在可以用力摁下主屏按钮来快捷调出应用提供的功能菜单。 在应用中,用户现在可以用力摁下视图以查看更多内容的预览并且快捷访问一些功能。...
  • lyqfly07
  • lyqfly07
  • 2015年11月19日 17:43
  • 381

是否该写上一年工作经验?

【来信】贺老师,您好!  我是一个大学本科毕业生,2013年7月毕业,毕业后找了一个多月工作,碰壁多次,我学的是JAVA WEB方面的知识,在大学期间只是学了JAVA基础,数据结构以及自己看了些关于S...
  • sxhelijian
  • sxhelijian
  • 2014年02月14日 08:39
  • 3618

iOS9系列专题——3D Touch

新的触摸体验——iOS9的3D Touch 一、引言         在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户带来的额外维度上的交互,这个设计之所...
  • u014220518
  • u014220518
  • 2016年01月13日 09:35
  • 404

项目管理一年 小回首

不知不觉 带项目基本1年了,从技术转管理过程中还是遇到很多问题,很多事情如果再来一次肯定会做的更好。。 感触1 国内的团队,对于初哥上马,你不能丢掉你的技术,就是pmp里所谓专家权利,(如果你是空降,...
  • xiebird
  • xiebird
  • 2013年09月07日 12:57
  • 1058

iOS9系列专题一——3D Touch

转自珲少的博客 原文地址:http://my.oschina.net/u/2340880/blog/511509一、引言 在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户...
  • young_shu
  • young_shu
  • 2016年04月04日 18:37
  • 52
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 3D Touch使用<一、 Home Screen Quick Actions使用>
举报原因:
原因补充:

(最多只允许输入30个字)