【iOS9系列】-3DTouch开发

第一:简介

3DTouch 是iOS9系统系统下,在iPhone6s(iPhone6s Plus)手机上才能够使用的功能。熟练使用后,发现还是很便捷的。

但是模拟器是不支持这个手势的。只能在真机上进行测试,但是有大神在Github开源了一个插件,以便在模拟器上使用SBShortcutMenuSimulator,具体教程可以自行查看。

第二:3D Touch入门

2.1 基本类型

  • 主屏幕快速选项(Home Screen Quick Action)

通过主屏幕的应用图标,可以通过3DTouch呼出快捷菜单,进行快速定位相关功能页面

  • Peek和Pop

  • Peek快速选项

2.2 3DTouch开发-创建

这里主要讲解的是主屏幕快速选项(Home Screen Quick Action),其他的稍后会进行补充

iOS9提供了两种主屏幕快速选项的创建方式:1:静态标签;2动态标签

  1. 静态标签

静态标签需要在项目的配置plist文件中进行配置,在用户安装程序后就可以使用,并且排序会在动态标签的前面。

以上plist文件的截图对应的效果如下

参数解释

Name 解释 是否必须
UIApplicationShortcutItemType 设置类型字符串,点击后以便在程序中处理
UIApplicationShortcutItemTitle centered
UIApplicationShortcutItemSubtitle 标签的副标题
UIApplicationShortcutItemIconType (Icon类型)系统枚举值
UIApplicationShortcutItemIconFile Icon文件
UIApplicationShortcutItemUserInfo 字典信息(用于传值)
  1. 动态标签

TODO

2.3 3DTouch开发-相应回调

iOS9以后在AppDelegate增加了回调方法

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

我们可以在这里进行逻辑处理

可以通过shortcutItem.type来获取UIApplicationShortcutItemType类型,进而可以得知点击的菜单,进行逻辑代码的书写。

同时,在我们的App方法:didFinishLaunchingWithOptions中我们可以取得UIApplicationShortcutItemType的值

UIApplicationShortcutItem *item = [launchOptions valueForKey:UIApplicationLaunchOptionsShortcutItemKey];
item.type//取到的也是`UIApplicationShortcutItemType`的值 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{ }

这样我们可以进行逻辑处理并在didFinishLaunchingWithOptions返回NO,防止处理逻辑被反复回调。


项目源码,详见https://github.com/darren90/EasyNote - 这是我已经写好的完成的笔记记录的项目,欢迎Star关注。

参考:


作者:Darren

微博:@IT_攻城师

github:@Darren90

博客:http://www.cnblogs.com/fengtengfei/

欢迎您的访问...

【iOS9系列】-3DTouch开发的更多相关文章

  1. 3DTouch开发 (基础)

    一.3DTouch开发准备工作(让模拟器也支持 3DTouch 的解决办法) 需要支持3DTouch的设备,如iPhone6s或以上.iOS9或以上.Xcode7或以上,估计很多和我一样的屌丝还没有i ...

  2. C#基础系列:开发自己的窗体设计器(PropertyGrid显示中文属性名)

    既然是一个窗体设计器,那就应该能够设置控件的属性,设置属性最好的当然是PropertyGrid了,我们仅仅需要使用一个PropertyGrid.SelectedObject = Control就可以搞 ...

  3. Spring基础系列-Web开发

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9996902.html SpringBoot基础系列-web开发 概述 web开发就是集成 ...

  4. 【iOS9系列】- CoreSportlight内容索引的使用

    [iOS9系列]- CoreSportlight内容索引的使用 前言 在iOS9中新增加了的CoreSportlight内容索引,这个还是比较实用的,当我们的App比较多的时候,我们会实用iOS系统的 ...

  5. 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇)

    系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 扫码体验,先睹为快 可以扫描下微信小程序的 ...

  6. iOS9 3DTouch开发

    在iOS 9中,新iPhone将第三维度添加到了用户界面. 用户现在可以用力摁下主屏按钮来快速调出应用提供的功能菜单. 在应用中,用户现在可以用力摁下视图以查看更多内容的预览并且快速访问一些功能. 想 ...

  7. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  8. iOS开发系列--并行开发其实很容易

    --多线程开发 概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算.可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行.但是机器码是按顺序执行的, ...

  9. 【开源】OSharp3.3框架解说系列:开发计划与进度

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

随机推荐

  1. InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables

    InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables 下表提供了FULLTEXT索引的元数据: mysql> SHOW TABLES FROM INFO ...

  2. (一)Robot Framework安装

    准备工作: Python 2.7 (目前不能良好支持python3) pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.16已包含) Robot Fram ...

  3. 【Python基础】迭代器、生成器

    迭代器和生成器 迭代器 一 .迭代的概念 #迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单 ...

  4. pwnable.kr blackjack之write up

    首先我们按提示找到源代码,看这一段: int betting() //Asks user amount to bet { printf("\n\nEnter Bet: $"); s ...

  5. HDU 4436 str2int

    str2int Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on HDU. Original ID: 4 ...

  6. oracle 9i/10g/11g(11.2.0.3)安装包和PATCH下载地址汇总

    今天上PUB看见一位热心人汇总了这么个地址列表,转发来空间: 把下面的地址复制到讯雷里就可以下载. -------------------------------------------------- ...

  7. COJ 1208 矩阵快速幂DP

    题目大意: f(i) 是一个斐波那契数列 , 求sum(f(i)^k)的总和 由于n极大,所以考虑矩阵快速幂加速 我们要求解最后的sum[n] 首先我们需要思考 sum[n] = sum[n-1] + ...

  8. bzoj3875 【Ahoi2014】骑士游戏 spfa处理后效性动规

    骑士游戏 [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会 扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. [问题描述] 在这个游戏中,JYY一共有两种攻 ...

  9. SQL Prompt 5.1使用

    SQL Prompt 5.1教程 1.下载 自行下载安装文件.本人是从http://www.cr173.com/下载的. 2.安装 安装没什么特别的,不用说了 3.注意一下破解和配置 按里面的read ...

  10. poj3905 2sat!

    这次已经不是2sat的问题了,相信2sat已经不是问题了,最后一题2sat,竟然跪在输入上! 千万注意scanf(%c)!读入!!!!有空格也读啊!!!读入+ -一定要用字符读啊??笨死算了!被人水死 ...