一、认识3D Touch
 
1、硬件和操作系统要求
     iPhone 6s或者iPhone 6s Plus
     操作系统要求 ios9+
2、3D Touch的交互效果
  • QuickAction
          操作:稍微用力按压应用icon按钮
          效果:跳出一系列的快捷选项。用户选择一个快捷选项后,将会启动或者加载应用。
           
 
  • Peek

    操作:轻度力量按压某个视图

    效果:此视图的周围内容会变得模糊,提示用户这个视图支持3D Touch






    操作:中度力量按压某个视图

    效果:跳出预览界面peek






     操作:手指保持在peek页面上,向上滑动

     效果:底部展示peek快速选项


      


  • Pop
          操作:在预览界面peek上重度力量按压
          效果:会完全跳转到peek所预览的那个界面
 
 
 
二、3D Touch效果实现
 
3D Touch共有1、QuickAction  2、peek 3、pop 4、peek快捷选项四种功能,下面就分别讲解这四种功能,每种功能的做法都区分了步骤,非常简单,简直就是傻瓜式操作。
 
【1】QuickAction
第一步 注册
AppDelegate.m的
   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 
代码示例:
*)localizedTitle;
第二步:实现AppDelegate.m中的代理方法,按不同控件做不同操作:
代码示例:
     
【2】peek
第一步:遵循 UIViewControllerPreviewingDelegate协议
 
第二步:实现UIViewControllerPreviewingDelegate代理方法
- (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location
 
1、创建预览VC
2、创建预览内容View
3、将预览内容View添加到预览VC上
4、返回预览VC
 
代码示例:
 
 
【3】Pop
第一步:遵循 UIViewControllerPreviewingDelegate协议
 
第二步:实现实现UIViewControllerPreviewingDelegate代理方法
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController*)viewControllerToCommit 
 
这个代理方法可以自由定义任何功能,但一般的实现是直接跳转到peek所预览的页面上
 
代码示例:
 
【4】peek快速选项
第一步:找到实现peek的代理方法所返回的ViewController类
第二步:让peek的代理方法所返回的ViewController类遵循 UIPreviewActionItem协议
 
第三步:实现UIPreviewActionItem的代理方法
-(NSArray<id<UIPreviewActionItem>> *)previewActionItems
 
这个代理方法要求返回一个UIPreviewAction数组,UIPreviewAction类中提供了两个创建UIPreviewAction实例的类方法,每个UIPreviewAction实例的点击业务都在block中实现。
 
代码示例:
 
 
二、3D Touch四种效果小Demo

3D Touch的更多相关文章

  1. iOS 3D Touch实践

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

  2. 初学3D Touch

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

  3. iOS 3D Touch 适配开发

    3D Touch的主要应用 文档给出的应用介绍主要有两块: 1.A user can now press your Home screen icon to immediately access fun ...

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

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

  5. 3D touch在Unity3D中的使用

    0.开篇: 3D touch随着iOS9发布,它并不是一个单独的技术,而是可以分为pressure sensitivity.quick action以及peek&pop.在官方的介绍中提到可以 ...

  6. 3D Touch介绍:电子秤App与快捷操作

    随着iPhone6s与6s plus的到来,苹果给我们展现了一种全新的交互方式:重按手势.你可能知道,这个特性已经在Apple Watch和MacBook上推出了,不过那时叫Force Touch,就 ...

  7. iOS 3D touch 使用技巧

    第一个 在桌面中3d Touch 打开菜单 由于本人纯属代码党,本次实现方法也只使用代码实现 到达到这个效果并不难,只需要在appdelegate中实现以下代码即可 ,当然也有缺点,就是这个app没运 ...

  8. 3D touch的 使用心得

    一.设置图标touch 快捷进入 1.静态标签 静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序会在动态标签的前面. 我们先来看静态标签的配置: 首先,在in ...

  9. 3D Touch集成过程整理

    1.集成App图标按压快速打开某个功能 在AppDelegate.m中加入以下三个东西 在启动方法里加入3D Touch菜单 - (BOOL)application:(UIApplication *) ...

随机推荐

  1. 贪心+模拟 Codeforces Round #288 (Div. 2) C. Anya and Ghosts

    题目传送门 /* 贪心 + 模拟:首先,如果蜡烛的燃烧时间小于最少需要点燃的蜡烛数一定是-1(蜡烛是1秒点一支), num[g[i]]记录每个鬼访问时已点燃的蜡烛数,若不够,tmp为还需要的蜡烛数, ...

  2. NUC_TeamTEST_B(贪心)

    B - B Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  3. Modify a Stored Procedure using SQL Server Management Studio

    In Object Explorer, connect to an instance of Database Engine and then expand that instance. Expand  ...

  4. 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)

    本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1>  CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...

  5. Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

    概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Ja ...

  6. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  7. android 内部缓存器(手机自带的存储空间中的当前包文件的路径)

    关于Context中: 1. getCacheDir()方法用于获取/data/data/<application package>/cache目录 2. getFilesDir()方法用 ...

  8. ACM 阶乘之和

    阶乘之和 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3! ...

  9. 快速搭建IE测试环境(Virtualbox+ievms)

    IE下的测试 作为一个有追求的程序员,应该尽可能的远离Windows系统.不论从专业开发者的角度,还是仅仅作为最终用户从使用体验上来说,Windows都可以算是垃圾中的战斗机: 没有shell . 响 ...

  10. [深入浅出WP8.1(Runtime)]应用实例——移动截图

    10.2应用实例——移动截图 移动截图例子是实现一个把一张图片的某个部分截取出来的功能,并且用户可以选定截取的图片区间.那个该例子会使用ManipulationDelta事件来实现对截取区间的选择.然 ...