3D touch干货

下午闲来无事,早就听闻苹果的touch技术,遂做本文,帮助大家少走弯路,并与同行交流,如有不正确的地方,还请指正.

实现3D touch效果有静态和动态两种设置方法。

1>静态添加方法就是在info.plist中添加如下字段,好多网上的资料和作者都是直接从文档上抠下来的图片,殊不知读者看完还得一个一个敲着无意义的字段.在这里我把字段都给大家敲出来了.并配上图片.(笔者在输入的时候就因为一个字母大小写的缘故,弄了半天.这里大家切记能粘贴就粘贴,字段别自己敲,容易错)


3D touch干货_第1张图片

UIApplicationShortcutItems 一个数组类型,数组中的每一个元素表示一个入口标签.(就是我们看到的小的提示框,苹果最多可以有四个.)

UIApplicationShortcutItemType 这是数组中的一个元素,字典类型。在这个字典中配置各个标签的相关属性。

UIApplicationShortcutItemTitle   一个提示框的大标题

UIApplicationShortcutItemSubtitle   大标题下面的小标题

UIApplicationShortcutItemIconType  标题左边的小图标样式(一共有29种)

UIApplicationShortcutItemIconFile   设置自定义标签图片文件的路径

UIApplicationShortcutItemUserInfo   设置用户信息,是一个字典类型,可以用来传值

设置完毕之后就可以看到这样效果了

3D touch干货_第2张图片

2>动态方法

在appdelegate里面创建标签,笔者也看到有人在工程中根视图的viewDidLoad方法中添加如下代码,笔者那样去做了,但是不符合产品要求.

3D touch干货_第3张图片
UIApplicationShortcutIconType一共有29种样式,大家可以在xcode中点击进去看种类(其中有一些种类只能在9.1以后的系统中使用)

app到底是直接点击图标进入的还是,利用3D touch技术进入的,我们怎么判别呢?

3D touch干货_第4张图片
上面的方法可以在用户使用3D touch的时候被调用,而且可以根据shortcutItem.localizedTitle来判断用户点击了哪一个标签,继而做我们想做的事情

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

//里面是一个回调的block,想做的事情就可以在这里做了

}

最终的一个效果是这样的


3D touch干货_第5张图片

希望这篇文章可以帮到你,在解决了您的问题之后嘴角的微微上翘,将是笔者最大的欣慰.

你可能感兴趣的:(3D touch干货)