苹果在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. 现有C2B模式小总结

    现有的C2B模式 目前常见的C2B模式有: l  聚合需求形式(反向团购.预售等) l  要约形式(逆向拍卖,客户出价,商家选择是否接受等) l  服务认领形式(企业发布所需服务,个人认领,类似威客等 ...

  2. ASP.NET MVC3快速入门——第五节、从控制器访问模型中的数据

    5.1 从控制器访问模型中的数据在本节中,我们将创建一个新的MoviesController类,并且书写代码来获取数据库中的数据,并通过视图模板来显示在浏览器中.鼠标右击Controller文件夹,点 ...

  3. android批量文件上传(android批量图片上传)

    项目中多处用到文件批量上传功能,今天正好解决了此问题,在此写出来,以便日后借鉴. 首先,以下架构下的批量文件上传可能会失败或者不会成功:   1.android客户端+springMVC服务端:服务端 ...

  4. poj 3579 Median (二分搜索之查找第k大的值)

    Description Given N numbers, X1, X2, ... , XN, let us calculate the difference of every pair of numb ...

  5. Handsontable对单元格的操作

    1.自动填充单元格数据 fillHandle:true/false    //当值为true时,允许拖动单元格右下角,将其值自动填充到选中的单元格 2.合并单元格 mergeCells:[{row:起 ...

  6. (转)Tomcat 7 访问 Manager 和 Host Manager

    配置好 Tomcat 7.0 后,在 tomcat-users.xml 中配置用户角色来访问 localhost:8080 的这样三个按钮总出现问题: Server Status Manager Ap ...

  7. [置顶] Java中发邮件的6种方法

    1.官方标准JavaMail Sun(Oracle)官方标准,功能强大,用起来比较繁琐. 官方资料:http://www.oracle.com/technetwork/java/javamail/in ...

  8. kaggle之数字序列预测

    数字序列预测 Github地址 Kaggle地址 # -*- coding: UTF-8 -*- %matplotlib inline import pandas as pd import strin ...

  9. SQLLoader2(导入EXCEL或csv格式的文件)

    一.EXCEL文件导入:1.首先将EXCEL文件另存为CSV格式文件--->用UltraEdit工具打开时可看到字段之间以逗号分隔. ,EMPNO,ENAME,JOB,MGR,HIREDATE, ...

  10. [Spring入门学习笔记][静态资源]

    遗留问题 在上一节课的作业中,我们一定遇到了一点问题——虽然将页面内容正确的返回给了浏览器,但是浏览器显示的样式却是不正确的,这是因为在HTML的\标签中我们这样引入了CSS资源: <link ...