据说苹果某个神秘的团队闭门潜心研发多年的3DTouch终于,应用在iOS9上,且公开了API。

在系统主界面用力按压 APP 图标,如上会出现自定义菜单

有两种方法可以实现
一.代码(这种方法也是可以动态的改变 3DTouch菜单的内容与功能):
第一步:自定义一个初始化菜单的方法;

-(void)init3DTouch{
if ([[UIDevice currentDevice] systemVersion].floatValue < 9.0) {
return;
}
UIApplication *app = [UIApplication sharedApplication];
NSMutableArray *its = [[app shortcutItems] mutableCopy];
if (its.count == ) {
NSMutableArray *items = [[NSMutableArray alloc] init];
UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];
UIApplicationShortcutItem *i2 = [[UIApplicationShortcutItem alloc] initWithType:@"com.xiaomi.i2" localizedTitle:@"发起群聊" localizedSubtitle:@"" icon:icon2 userInfo:nil];
[items addObject:i2];
UIApplicationShortcutIcon *icon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeShare];
UIApplicationShortcutItem *i1 = [[UIApplicationShortcutItem alloc] initWithType:@"com.xiaomi.i1" localizedTitle:@"电话会议" localizedSubtitle:@"" icon:icon userInfo:nil];
[items addObject:i1];
[app setShortcutItems:items];
}
}

第二步:实现 UIApplication 协议来响应系统主页按压APP出现菜单的,菜单对应点击事件;

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{
if ([shortcutItem.type isEqualToString:@"com.xiaomi.i1"]) { // 点击菜单一 ‘发起群聊’ 执行的内容
}
else if ([shortcutItem.type isEqualToString:@"com.xiaomi.i2"]){ // 点击菜单二 ‘电话会议’ 执行的内容
}
}
// Called when the user activates your application by selecting a shortcut on the home screen,
// except when -application:willFinishLaunchingWithOptions: or -application:didFinishLaunchingWithOptions returns NO.

第三步:判断 launchOptions != nil 则返回NO;顺便获取激活APP的对象,手动执行所点击的菜单事件

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [self init3DTouch];
// 当APP 不再后台运行时 通过3DTouch 激活APP,launchOptions不为空手动调用 performActionForShortcutItem
if ( launchOptions != nil ) {
UIApplicationShortcutItem *i = [launchOptions objectForKey: UIApplicationLaunchOptionsShortcutItemKey];
[self application:application performActionForShortcutItem:i completionHandler:^(BOOL succeeded) {
NSLog(@"launchOptions no null");
}];
return NO;
}
return YES;
}

二.info.plist

=============================

参考:http://www.jianshu.com/p/74fe6cbc542b

3DTouch-ShortcutItem - iOS9 - xcode7的更多相关文章

  1. 关于iOS9,Xcode7以上的安全性问题

    目前伴随着苹果方面对安全性方面的重视,在Xcode开发过程中有时候会出现数据解析在view上不显示的问题 这是在iOS9,Xcode7以后苹果方面为了保护用户安全而采用的用户发送请求机制,那么在开发中 ...

  2. ios9+xcode7 适配笔记

    升级了xcode7,最近ios9上马,又到了草泥马的时间,apple开放团队每次系统更新,都是无数个草泥马的适配夜晚,现在ios9上线以前的app竟然启动crash,这是要闹哪样. 1.微信和微博的s ...

  3. iOS开发者的福利 — — iOS9+Xcode7免越狱免证书直接调试

    苹果发布Xcode7后, 开放了普通的AppleID也能真机调试( 非$99 或 $299, 只要能上AppStore下载应用的AppleID就行),下面教你具体做法,很简单的. 1.运行Xcode, ...

  4. iOS9 & Xcode7 下设置LaunchImage启动图片 问题及解决

    最近在学习iOS开发,碰到一个设置启动图片的问题,怎么也搞不定,综合网上种种资料后Done,现在把完整过程写一下. 这里以建立一个空的Single View Application 为演示基础. 1. ...

  5. ios9 xcode7以后编译需要进行的几项设置

    http://blog.csdn.net/hero82748274/article/details/48629461 1.库后缀变了:.dylib->tbd libsqlite3.0.dylib ...

  6. 【iOS9系列】-3DTouch开发

    [iOS9系列]-3DTouch开发 第一:简介 3DTouch 是iOS9系统系统下,在iPhone6s(iPhone6s Plus)手机上才能够使用的功能.熟练使用后,发现还是很便捷的. 但是模拟 ...

  7. iOS - 3DTouch 3D 触摸

    1.3DTouch 简介 3DTouch 是 iOS9 + 系统下,在 iPhone6s(iPhone6s Plus)+ 手机上才能够使用的功能. 1.1 3DTouch 基本类型 1.主屏幕快速选项 ...

  8. 3DTouch - iOS新特性

    概述 3DTouch是一种立体触控技术,被苹果称为新一代多点触控技术. 详细 代码下载:http://www.demodashi.com/demo/10708.html 6s和6s plus之后特有效 ...

  9. iOS9 升级设置

    今天升级了iOS9, Xcode7.1 ; 打开之前的工程发现网络请求出错了, 参照UM开发文档, 对info.plist进行了配置如下: 1. 以iOS9 SDK编译的工程会默认以SSL安全协议进行 ...

随机推荐

  1. 更新Code First生成的数据库

    1,首次访问时会自动生成数据库 2,某个Model增加一个字段后,再次访问会报,数据库不是最新 操作 1,Enable-Migrations 注意选择Default project为Star.Core ...

  2. tomcat Manger App

    转发链接,嘿嘿http://simeon.blog.51cto.com/18680/58877

  3. Intent(意图)

    Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...

  4. JDBC用ResultSet访问大量数据时会遇到的问题

    我们经常需要JDBC来对数据库就行操作,一般流程为连接数据库.通过sql语句把需要的数据取出来保存到ResultSet,然后调用ResultSet方法的类似 getString,getInt()等方法 ...

  5. MXML的一些基本语法

    以下内容是一个视频的学习笔记<Flex4视频教程>,所以,先关记录也是以现在的Flash Builder为基础. <fx:Script/>  是脚本文件的声明 var代表数值, ...

  6. coroutine in c 备忘

    coroutine: stackless和stackful jmp 基于switch的trick: http://www.chiark.greenend.org.uk/~sgtatham/corout ...

  7. CentOS7 安装 swoole

    sudo pecl install swoole 即可安装.安装完后修改php.ini,加入extension=swoole.so 重启 sudo systemctl restart php-fpm ...

  8. To follow the path

    look to the master,    follow the master,    walk with the master,    see through the master,    bec ...

  9. 使用iphone5修剪视频的方法

    iphone5有很高的视频拍摄质量,这人很多业余爱好者也加入了视频短片的拍摄当中.在拍摄视频的过程中,为了能够捕捉到精彩瞬间,常常会提前拍摄,并延迟结束拍摄,这样就给视频增加了很多无意义的片段.这时, ...

  10. 2013年19个最棒的HTML5网站模板免费下载

    上次我们整理了14个HTML5奉献给大家下载了,今天我再给大家整理了19个2013最新的HTML5模板供有需要的朋友下载使用,它们涉及不同的行业的模板需求,支持手机设备,十分精美! 1. Affini ...