3DTouch到底是个什么梗?

简介:3D Touch的触控技术,被苹果称为新一代多点触控技术。其实,就是此前在Apple Watch上采用的Force Touch,屏幕可感应不同的感压力度触控。3D Touch,苹果iPhone 6s的新功能,看起来类似 PC 上的右键。有Peek Pop 两种新手势。2015年9月10日,苹果在新品发布会上宣布了3D-Touch功能。

介绍呢就不多说了,用过6s以上版本iPhone的小伙伴都了解,但是目前这项技术在苹果手机中的应用并不是特别广泛,目前支持3D Touch的APP也不是很多,作为一项苹果15年发布会重点强调的项目,这绝不能容忍,我相信3D Touch在苹果下次开发者大会上一定会爆出更多惊喜.

目前网上对Force Touch功能实现介绍的文章不是很多,而且有些杂乱,这篇文章中我将详细的给大家介绍如何在项目中添加3D Touch功能,下面的视频是最终结果:


3D Touch效果-高清观看-腾讯视频


看完效果就开始吧,首先先来实现第一个功能,用力按屏幕上的应用图标,弹出如图效果:

3DTouch到底是个什么梗?_第1张图片

第一个是我们自己定义的,剩下三个都是系统提供的,这个模块很简单,分两步:1在info.plist文件中添加一个配置(数组).2在系统提供的一个方法中根据设定的标示截获用户点击的是哪一个选项.plist文件中配置如下:

3DTouch到底是个什么梗?_第2张图片

配置完成之后,回到AppDelegate.m中实现一个系统自带的方法

3DTouch到底是个什么梗?_第3张图片

运行程序,用力按突变,再选择打折(自定义)就会打开tableview页面如下图所示:

3DTouch到底是个什么梗?_第4张图片

然后我们来实现cell对3D Touch的支持,即用力点cell弹出一个视图,再继续用力,进入这个视图..这需要借助几个代理方法,我们在SecondViewController
(tableview界面)签订一个协议UIViewControllerPreviewingDelegate,并在viewDidLoad注册3D Touch

3DTouch到底是个什么梗?_第5张图片

然后实现几个代理方法,每个代理方法负责不同的工作

3DTouch到底是个什么梗?_第6张图片

在这里不要忘了,在tableview代理方法中,给每一个cell注册3D Touch事件

写到这里运行之后用力压cell就能达到如图的效果,再按一下会整个进入黄色的页面.

3DTouch到底是个什么梗?_第7张图片

出现这个页面之后不再用力按压,而是往上拖动,下面应该出出现一个菜单,如下图,我们再来实现这个功能,这个功能也是借助UIViewControllerPreviewingDelegate中的一个代理方法,当然这个代理方法要在这个黄色的页面中实现,即另外一个控制器我这里就是TouchShowViewController

3DTouch到底是个什么梗?_第8张图片

好,现在我们来到TouchShowViewController.m中,先签订一个协议UIViewControllerPreviewingDelegate
然后实现方法-(NSArray> *)previewActionItems代码如下

3DTouch到底是个什么梗?_第9张图片

代码很简单易懂,点击每一个选项,就会执行与其对应的block.想做什么操作写在里面即可.好了暂时就是这么多,希望对大家有所帮助,再就是期待下次WWDC大会苹果对3D Touch
进一步拓展吧.O(∩_∩)O哈哈~

3DTouch到底是个什么梗?_第10张图片

你可能感兴趣的:(3DTouch到底是个什么梗?)