iOS9新特性之实现3DTouch就是So easy(更新Swift 版 )
2015-11-03 20:04
435 查看
首先我们需要在Info.plist文件中加上一项
在此讲解下其中都是些神马意思
UIApplicationShortcutItemIconType触发3D Touch时显示的图标类型 UIApplicationShortcutIconTypeShare显示分享的图标
当然肯定还可以选择其他的一些图标,在此不一一列举,因为我也才上手,不怕您笑话咱。
UIApplicationShortcutItemTitle显示名字的
UIApplicationShortcutItemType相当于项目中的Bundle Identifier唯一的,通过这个标示我们可以判断点相应的那一项触发相应的操作 可以多设置几个
到此Info.plist文件中我们已经设置完了,接下来我们应该咋整呢? 什么?问你们,你们居然不知道???
好吧,还是由我带领大家继续讲下一步该如何如何。。。 首先在我们AppDelegate.m中添加如下方法
OC版
Swift版
关于这个方法是干嘛的?在此大家应该都清楚了吧? 对没错,就是用来处理我们这个3D Touch触发事件的 我的Demo是这么写的,具体如下:
OC版
Swift版
相信在场很多同僚都和我一样屌丝,还来不及去买iPhone6s导致我们无法去测试是否成功,下面我来带你们去解决该问题,虽然无法让你自己看到运行后的效果,但是判断下是否成功还是可以做到的,方法如下
OC版
Swift版
<key>UIApplicationShortcutItems</key>
<array><dict><span style="font-family: Arial, Helvetica, sans-serif;"><key>UIApplicationShortcutItemIconType</key><string>UIApplicationShortcutIconTypeShare</string></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><key>UIApplicationShortcutItemTitle</key><string>Share</string></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><key>UIApplicationShortcutItemType</key><string>-11.UITouchText.share</string></dict></array></span>
在此讲解下其中都是些神马意思
UIApplicationShortcutItemIconType触发3D Touch时显示的图标类型 UIApplicationShortcutIconTypeShare显示分享的图标
当然肯定还可以选择其他的一些图标,在此不一一列举,因为我也才上手,不怕您笑话咱。
UIApplicationShortcutItemTitle显示名字的
UIApplicationShortcutItemType相当于项目中的Bundle Identifier唯一的,通过这个标示我们可以判断点相应的那一项触发相应的操作 可以多设置几个
到此Info.plist文件中我们已经设置完了,接下来我们应该咋整呢? 什么?问你们,你们居然不知道???
好吧,还是由我带领大家继续讲下一步该如何如何。。。 首先在我们AppDelegate.m中添加如下方法
OC版
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItemcompletionHandler:(void(^)(BOOL succeeded))completionHandler{ }
Swift版
funcapplication(application: UIApplication, performActionForShortcutItemshortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) ->Void) { }
关于这个方法是干嘛的?在此大家应该都清楚了吧? 对没错,就是用来处理我们这个3D Touch触发事件的 我的Demo是这么写的,具体如下:
OC版
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItemcompletionHandler:(void(^)(BOOL succeeded))completionHandler{
//判断先前我们设置的唯一标识if([shortcutItem.typeisEqualToString:@"-11.UITouchText.share"])
{
NSArray *arr = @[@"hello 3D Touch"];
UIActivityViewController *vc = [[UIActivityViewControlleralloc]initWithActivityItems:arrapplicationActivities:nil]; //设置当前的VC 为rootVC
[self.window.rootViewControllerpresentViewController:vcanimated:YES completion:^{
}];
}
}
Swift版
funcapplication(application: UIApplication,
performActionForShortcutItemshortcutItem: UIApplicationShortcutItem,
completionHandler: (Bool) ->Void) {
switchshortcutItem.type
{
case"-11.UITouchText.share":
let items = ["hello 3D Touch"]
letactivityVC = UIActivityViewController(
activityItems: items,
applicationActivities: nil)
self.window?.rootViewController?.presentViewController(activityVC, animated: true, completion: { () ->Voidin })
default:
break
}
}
相信在场很多同僚都和我一样屌丝,还来不及去买iPhone6s导致我们无法去测试是否成功,下面我来带你们去解决该问题,虽然无法让你自己看到运行后的效果,但是判断下是否成功还是可以做到的,方法如下
OC版
if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {
NSLog(@"你的手机支持3D Touch!");
}else {
NSLog(@"你的手机暂不支持3D Touch!");
}
Swift版
iftraitCollection.forceTouchCapability == UIForceTouchCapability.Available {
NSLog(@"你的手机支持3D Touch!");
}else {
<span style="font-family: Arial, Helvetica, sans-serif;"> NSLog(@"你的手机暂不支持3D Touch!"); </span>
<span style="font-family: Arial, Helvetica, sans-serif;"> }</span>
相关文章推荐
- iOS 8 Metal Swift教程 :开始学习
- Swift之泛型(Generics)
- Swift - Tuple(元组)
- Swift初始化方法返回NIL
- iOS swift 常量 && 宏定义
- [IOSS]Swift与OC混编
- Swift初级(一)
- 浅谈Swift编程中switch与fallthrough语句的使用
- Swift 的访问控制(private,internal,public)
- 详解Swift语言的while循环结构
- Swift语言学习---------高级
- 详解Swift编程中的for循环的编写方法
- iOS swift 语句只能写在函数体内
- 深入理解Swift语言中的闭包机制
- Swift语言中的函数学习教程
- Swift 基础入门 协议/闭包
- swift 快速奔跑的兔几 本节的内容是:闭包儿和操作队列
- Swift编程中数组的使用方法指南
- Swift语言中字符串相关的基本概念解析
- Swift 基础知识Part1