最近研究了一下3D-Touch,实现了两种3D-Touch的效果.写了一个简单的Demo.
第一种 : 在icon处的,效果图如下.
一.在AppDelegate里didFinishLaunchingWithOptions方法里创建UIApplicationShortcutIcon 具体创建几个看需求,在创建UIApplicationShortcutIcon的时候可以根据不同的需求设置不同的样式,
二.在performActionForShortcutItem方法里 写点击跳转的位置 ,这里我用了一个通知 在ViewController里实现跳转 在创建UIApplicationShortcutIcon 的时候会设置一个type值,在跳转的时候将值传给ViewController,在ViewController里的通知方法中根据不同的type值跳转不同的位置.
第二种 : 在控制器里的,效果图如下.
一.在ViewController创建TableView . 实现数据源方法.并且加一个didSelectRowAtIndexPath代理方法,创建一个控制器DetailViewController.在TableView的didSelectRowAtIndexPath实现跳转.
二.判断设备是否支持3D-Touch ,如果支持 进行注册[selfregisterForPreviewingWithDelegate:selfsourceView:self.detailTableView];
三.在ViewController添加UIViewControllerPreviewingDelegate,实现代理方法 (轻按 重按)
四.在轻按的时候,有一个可以向上移的Action.需要在DetailViewController实现 创建UIPreviewAction,数量可以根据需求创建.
如有问题请多多指正.
网友评论