iOS 9 新特性之实现 3D Touch

转载 2015年11月17日 11:06:14

在网上找了下资料,貌似很少的,只找到一篇简单介绍的

地址:http://www.jianshu.com/p/74fe6cbc542b

当然根据这篇文章的资料,很难做出这个有趣的功能,至少我是这么认为。

于是发挥出我那无敌于世的搜索功能,终于还是让我找到了突破点。

首先我们需要在Info.plist文件中加上一项

[key]UIApplicationShortcutItems[/key]
    [array]
        [dict]
            [key]UIApplicationShortcutItemIconType[/key]
            [string]UIApplicationShortcutIconTypeShare[/string]
            [key]UIApplicationShortcutItemTitle[/key]
            [string]Share[/string]
            [key]UIApplicationShortcutItemType[/key]
            [string]-11.UITouchText.share[/string]
        [/dict]
    [/array]

在此讲解下其中都是些神马意思

UIApplicationShortcutItemIconType触发3D Touch时显示的图标类型

UIApplicationShortcutIconTypeShare显示分享的图标

当然肯定还可以选择其他的一些图标,在此不一一列举,因为我也才上手,不怕您笑话咱。

UIApplicationShortcutItemTitle显示名字的

UIApplicationShortcutItemType相当于项目中的Bundle Identifier唯一的,通过这个标示我们可以判断点相应的那一项触发相应的操作

可以多设置几个

到此Info.plist文件中我们已经设置完了,接下来我们应该咋整呢?

什么?问你们,你们居然不知道???

好吧,还是由我带领大家继续讲下一步该如何如何。。。

首先在我们AppDelegate.m中添加如下方法

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

关于这个方法是干嘛的?在此大家应该都清楚了吧?

对没错,就是用来处理我们这个3D Touch触发事件的

我的Demo是这么写的,具体如下:

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler{
    //判断先前我们设置的唯一标识
    if([shortcutItem.type isEqualToString:@"-11.UITouchText.share"]){
        NSArray *arr = @[@"hello 3D Touch"];
        UIActivityViewController *vc = [[UIActivityViewController alloc]initWithActivityItems:arr applicationActivities:nil];
        //设置当前的VC 为rootVC
        [self.window.rootViewController presentViewController:vc animated:YES completion:^{
        }];
    }
}

相信在场很多同僚都和我一样屌丝,还来不及去买iPhone6s导致我们无法去测试是否成功,下面我来带你们去解决该问题,虽然无法让你自己看到运行后的效果,但是判断下是否成功还是可以做到的,方法如下

if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {
      NSLog(@"你的手机支持3D Touch!");
    }
    else {
        NSLog(@"你的手机暂不支持3D Touch!");
    }

效果图给大家鉴赏一下哦!

2.jpg

IOS 3D Touch 开发教程

前一阵子伴随着苹果发布新产品iPhone6s 和 IOS9新系统,一系列关于硬件和软件的新功能、新特性逐渐进入iPhone用户的视线。这次我们就来讲讲传闻已久的3D Touch。          当...
  • He_jiabin
  • He_jiabin
  • 2016-03-02 12:17:24
  • 3029

3D Touch 的实现和系统分享功能

3D Touch其实就是快速进入指定app界面的一种方式。 下面和大家分享一下简单的实现 1、静态标签 静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序...
  • yishengzhiai005
  • yishengzhiai005
  • 2016-12-07 15:30:11
  • 2181

3Dtouch 基本原理

UIApplicationShortcutItems即用3Dtouch在app图标呼出一个菜单       实现由两种方法:静态菜单和动态菜单   静态菜单是在plist中添加,...
  • c386890506
  • c386890506
  • 2016-03-14 14:26:52
  • 1019

IOS实现3DTouch功能

赶需求期间,想着别人应用都搞起3DTouch功能了,咱也来装逼一会,凸显下逼格。 废话少说,先搜索了前人的热心奉献,自己再动手丰衣足食,下面归纳总结下。 首先,想要体验3DTouch功能,必须至少得是...
  • a416863220
  • a416863220
  • 2016-04-22 10:35:11
  • 9201

在xcode模拟器上运行3Dtouch

第一步, git clone https://github.com/DeskConnect/SBShortcutMenuSimulator.git cd SBSho...
  • hurosezhang
  • hurosezhang
  • 2016-08-15 15:52:17
  • 1712

ios模拟器展示3D Touch

With Xcode 7.0 you must develop on a device that supports 3D Touch. Simulator in Xcode 7.0 does not ...
  • u010972075
  • u010972075
  • 2015-11-05 15:09:47
  • 980

iOS 3D Touch 实现UITableViewCell 预览

效果图好丑. 测试手机iPhone6s , 也就是使用了新特性 3DTouch. 囧 不知道的以为会有多难.在开始之前UIViewControllerPreviewingDelegate // 签订...
  • sinat_30162391
  • sinat_30162391
  • 2016-05-22 00:47:35
  • 3586

3DTouch Demo 从零构建3D Touch 教学

从0开始,详细实现3D Touch常用功能,满足日常需求,良心Demo
  • wxs0124
  • wxs0124
  • 2015-11-27 10:27:29
  • 1416

iOS8和iOS9新特性的总结

iOS8和iOS9已经出世多时,产生了一些新特性,本屌丝就小小总结一下!i0S8 size classes的推出 size classes的产生对于屏幕的适配提供了便利,没必要获取屏幕的尺寸来进行操...
  • NeXTSTEP110
  • NeXTSTEP110
  • 2016-02-27 10:43:01
  • 1291

IOS 实现3D Touch在tableView的简单应用

3D Touch正在改变用户的操作习惯,体验了下,确实挺酷。  做为个开发者,一定想知道如何才能集成这样操作功能。 话不多说,直接上代码(因为3D Touch的开发资料网止已经太多了,不说了) ...
  • u010277446
  • u010277446
  • 2016-03-16 10:25:33
  • 758
收藏助手
不良信息举报
您举报文章:iOS 9 新特性之实现 3D Touch
举报原因:
原因补充:

(最多只允许输入30个字)