1、IOS的3DTouch功能已经在 IOS9.0版本的时候,在iPhone 6S 出来的时候就已经支持了。其实使用接入3DTouch 很简单。
2、首先我们了解一下 3Dtouch 分为两种。
①、桌面上的APP图标使用 3DTouch
②、APP 的内部的功能也可以使用3DTouch
3、那么我们先来聊一下桌面 图标点击 3DTouch 。 首先大家应该都可以看到,每个APP都可以 3DTouch 点击出来的分享的弹框。其实这个是苹果给我们每个APP 已经添加上的。不需要我们自己主动的添加分享。然后 我们该如何去定义自己想要的其他的功能呢?添加的方式有两个中,一个中是在 info.plist 文件中进行添加固定的功能按钮【这里不做解释】,也可以直接代码添加。很简单只需要两步。①、创建item ②、实现点击后的方法 。
直接来代码:
这样的话可以自定义添加。可以根据不同的情况去添加 不同的按钮和功能。首先我们要注意的几点。其一:必须是 IOS9.0 以及更高的版本。在上图中 需要我们自己定义一个 type 和 一个 title。 title 很明显也就是 Touch 之后 显示的title。type 则是 我们自己任意定义的,在回调的时候 我们根据 这个 type 是实现不同的操作。
图2.png在 AppDelegate 中 这个方法中, 可以根据 shortcutItem 中 type 去对应实现自己需要实现的操作。怎么样?很简单吧。
4、然后 我们来说一下 APP 内容 通过3D Touch 去实现功能。其实也很简单。
①、对需要添加的 view 注册 3DTouch 。代码如下
然后 添加代理。<UIViewControllerPreviewingDelegate> ,实现方法。
图4.png
两个代理方法,第一个 - (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit NS_AVAILABLE_IOS(9_0) 是在 touch 进入另一个 Controller 的跳转。 第二个 -(UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location。 则是去设置 Touch 显示的 Controller 。
网友评论