3D touch干货

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

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

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


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

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

UIApplicationShortcutItemTitle   一个提示框的大标题

UIApplicationShortcutItemSubtitle   大标题下面的小标题

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

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

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

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

2>动态方法

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

UIApplicationShortcutIconType一共有29种样式,大家可以在xcode中点击进去看种类(其中有一些种类只能在9.1以后的系统中使用)

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

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

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

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

}

最终的一个效果是这样的


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 3D Touch功能的开发难度并不大,但是由于该功能需要有硬件支持,并且在模拟器上无法体验,所以阻挡了一大批开发者...
    LeafRead阅读 673评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • 前言 关于这篇文章 由于iPhone 6S发布不到一年的时间,很多新特性、新技术还未普遍,不管是3D Touch的...
    Tangentw阅读 4,548评论 8 18
  • 开发iOS平台的应用的时候,可以获取iOS设备的设备信息,包括设备的名称,设备的机型,设备的iOS版本等等。设备信...
    明天不用上课阅读 4,346评论 2 11