苹果在iOS9 上引入3D触控(压力触控)功能,API 主要分为三个模块:快速启动、Peek 和 Pop,压敏技术。
该新功能在iOS9 中你默认是有效的,这样就意味着你现在就可以提交支持该技术的app。现在,我将快速直接的深入的探索 快速启动的技术,如果幸运的话,你就可以在15分钟内学完。如果你想一更新就受到消息,那么关注我就好了,如果没有进一步,那我们就“潜水”。
 
 
快速启动:
快速启动是基础的home 屏幕上的图标快捷方式,它有静态和动态的两种方式,iOS9最多支持四中快速启动方式在你的应用程序中,基于这个限制,系统会优先加载你的静态快速启动的方式。如果你的静态方式没有设置,你还可以自定义动态的启动方式,最后 一个或者多个快速启动行为将会被展现
 
静态的启动方式定义在 info.plist中的 字典的数组UIApplicationShortcutItems 中,你需要在每个字典中对一下的 键(key) 提供 有效值(value) :
  UIApplicationShortcutItemType   (必须的): 要求独一无二的字符串标志对每个 item
 UIApplicationShortcutItemTitle(必须的):显示在UI 上的 item的名字
 UIApplicationShortcutItemSubtitle(可选的):显示在UI上的item 的副标题名字
UIApplicationShortcutItemIconType(可选的):系统系统的图标,所有可支持的 都可以在 here找到
UIApplicationShortcutItemIconFile (可选的):自定义的图片名称在  assets  目录下,如果提供了,UIApplicationShortcutItemIconType 将会被忽略,图标应该是 35 * 35 的单色图片(?此处有待考究?),,所有可支持的 键(key)都可以在 here 找到。
 
当静态快捷启动方式定义在info.plist 中,我们需要对其做出相应,应用程序的代理方法:
     application(_:performActionForShortcutItem:completionHandler:) that gets
     一旦用户点击了快速启动的方式,该代码方法就会被调用。这存在一个你必须调用的的block,只要你做了 快捷操作。我所理解的是,它将通过改变你的视图层级结构来 对你的行为做出相应,然后回调 block。它也不是看起来的那么简单。
 
这里存在一个需要 根据你的应用程序是否被运行或者进入前台处理的 问题。你必须检查 
  application:didFinishLaunchingWithOptions:
或者
application:willFinishLaunchingWithOptions:
是否是从快捷方式启动。通过检查UIApplicationLaunchOptionsShortcutItemKey 在 launchOptions 的字典,如果你确实需要从快捷方式启动的话,你需要设置在application:willFinishLaunchingWithOptions: 中设置相应的视图层次,并且返回false, 这样会阻止 application(_:performActionForShortcutItem:completionHandler:)  被调用。
 
一下有一些简单的例程演示我是如何进行处理的,所有的app 的代码都可以在github sample code. 被下载。
 
 
 
动态行为能够通过使用UIApplicationShortcutItem 和 UIMutableApplicationShortcutItem类,简单的创建对象,然后添加到UIApplication’s shortcutItems 属性里面 ,再管理这些动态的快捷方式时候,存在一些潜在的非常复杂的问题,在这里 我将不再深入研究。
 
 
-----------------------------------------------------------------------------------
转载:请注明出处:
  http://www.cnblogs.com/gaox97329498/

3D Touch:静态快速启动方式的更多相关文章

  1. Ubuntu 如何为 XMind 添加快速启动方式和图标

    目录 Ubuntu 如何为 XMind 添加快速启动方式和图标 Ubuntu 如何为 XMind 添加快速启动方式和图标 按照教程Ubuntu16.04LTS安装XMind8并创建运行图标进行Xmin ...

  2. 3D touch 静态、动态设置及进入APP的跳转方式

    申明Quick Action有两种方式:静态和动态 静态是在info.plist文件中申明,动态则是在代码中注册,系统支持两者同时存在. -系统限制每个app最多显示4个快捷图标,包括静态和动态 静态 ...

  3. SpringBoot介绍,快速入门小例子,目录结构,不同的启动方式,SpringBoot常用注解

    SpringBoot介绍 引言 为了使用ssm框架去开发,准备ssm框架的模板配置 为了Spring整合第三方框架,单独的去编写xml文件 导致ssm项目后期xml文件特别多,维护xml文件的成本也是 ...

  4. 从3D Touch 看 原生快速开发

    全新的按压方式苹果继续为我们带来革命性的交互:Peek和Pop,Peek 和 Pop 让你能够预览所有类型的内容,甚至可对内容进行操作,却不必真的打开它们.例如,轻按屏幕,可用 Peek 预览收件箱中 ...

  5. 使用批处理文件命令行方式快速启动和停止IIS、SqlServer

    原文:使用批处理文件命令行方式快速启动和停止IIS.SqlServer 虽然现在内存便宜了,但是自己还是嫌自己的512M内存太小,没办法,后台运行的东西太多了,有很多都是有用的没法关闭的.IIS和SQ ...

  6. 如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏)

    问题:如何用INNO安装添加快捷启动方式到Win7的快速启动栏(超级任务栏) 在XP下,添加方式是直接把快捷方式复制到%appdata%\Microsoft\Internet Explorer\Qui ...

  7. windows程序快速启动的方式:WIN键+R

    WIN键+R是windows快速启动程序的一种方式,一般能独立运行的程序都能以这种方式启动.如notepad.calc.explorer等程序. 在命令行方式下explorer加上不同的参数,会得到不 ...

  8. iOS 3D Touch实践

    本文主要讲解3DTouch各种场景下的开发方法,开发主屏幕应用icon上的快捷选项标签(Home Screen Quick Actions),静态设置 UIApplicationShortcutIte ...

  9. 初学3D Touch

    引言 With iOS 9, new iPhone models add a third dimension to the user interface. A user can now press y ...

随机推荐

  1. pcduino通过USB方式刷机

    最近买了块pcduino来玩,一开始也不知道怎么入手使用,就想先学着网上来刷机,可以用TF卡来刷机,也可以用U盘来刷机.由于手上只有优盘,所以采用了第二种方式.具体方法参考了网上. 本文非原创,原文来 ...

  2. 开心菜鸟系列----变量的解读(javascript入门篇)

                       console.info(         console.info(window['weiwu'])          console.info(window. ...

  3. ANSIC程序到KeilC51的移植心得

    摘要:本文讲述了将ANSIC程序移植到KeilC51上应该注意的事项.文章讲述了存储类型.指针类型.重入函数.根据目标系统RAM的分布的段定位和仿真栈设置.函数指针.NULL指针问题.字节顺序.交叉汇 ...

  4. Absolute sort

    Absolute sort Let's try some sorting. Here is an array with the specific rules. The array (a tuple) ...

  5. C语言开发CGI程序的简单例子

    这年头用C语言开发cgi的已经不多,大多数的web程序都使用java.php.python等这些语言了. 但是本文将做一些简单的cgi实例. 首先配置环境 #这里是使用的apache AddHandl ...

  6. 精确覆盖DLX算法模板另一种写法

    代码 struct DLX { int n,id; int L[maxn],R[maxn],U[maxn],D[maxn]; ]; int H[ms]; ) //传列长 { n=nn; ;i<= ...

  7. SharePoint excel service web part 连接到 filter web part

    本文讲述SharePoint excel service web part 连接到 filter web part的一个简单应用场景. SharePoint excel service web par ...

  8. NavMeshAgent 动态加载障碍物

    如果你想让游戏人物绕开一些物体, 这些物体动态生成出来的.只需要给物体添加NavMeshObstacle组件即可 1. 绿色方块添加NavMeshObstacle组件 2. 红色方块没有添加NavMe ...

  9. iOS 推送证书制作 (JAVA/PHP)

    // aps_development.cer 转化成pem openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem ...

  10. 多线程下不反复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们常常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送.发送完毕后再将数据转移到历史表中,这样保证待发送表的数据普通情况下不会太 ...