下午闲来无事,早就听闻苹果的touch技术,遂做本文,帮助大家少走弯路,并与同行交流,如有不正确的地方,还请指正.
实现3D touch效果有静态和动态两种设置方法。
1>静态添加方法就是在info.plist中添加如下字段,好多网上的资料和作者都是直接从文档上抠下来的图片,殊不知读者看完还得一个一个敲着无意义的字段.在这里我把字段都给大家敲出来了.并配上图片.(笔者在输入的时候就因为一个字母大小写的缘故,弄了半天.这里大家切记能粘贴就粘贴,字段别自己敲,容易错)
UIApplicationShortcutItems 一个数组类型,数组中的每一个元素表示一个入口标签.(就是我们看到的小的提示框,苹果最多可以有四个.)
UIApplicationShortcutItemType 这是数组中的一个元素,字典类型。在这个字典中配置各个标签的相关属性。
UIApplicationShortcutItemTitle 一个提示框的大标题
UIApplicationShortcutItemSubtitle 大标题下面的小标题
UIApplicationShortcutItemIconType 标题左边的小图标样式(一共有29种)
UIApplicationShortcutItemIconFile 设置自定义标签图片文件的路径
UIApplicationShortcutItemUserInfo 设置用户信息,是一个字典类型,可以用来传值
设置完毕之后就可以看到这样效果了
2>动态方法
在appdelegate里面创建标签,笔者也看到有人在工程中根视图的viewDidLoad方法中添加如下代码,笔者那样去做了,但是不符合产品要求.
app到底是直接点击图标进入的还是,利用3D touch技术进入的,我们怎么判别呢?
- (void)application:(UIApplication*)application performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem completionHandler:(void(^)(BOOL))completionHandler {
//里面是一个回调的block,想做的事情就可以在这里做了
}
最终的一个效果是这样的
希望这篇文章可以帮到你,在解决了您的问题之后嘴角的微微上翘,将是笔者最大的欣慰.