iOS开发-------3D Touch之ApplicationShortcutItem
来源:互联网 发布:考研调剂知乎 编辑:程序博客网 时间:2024/05/17 02:25
自从iPhone 6s / 6s Plus 发布之后,3D Touch给了APP一种新的活力,对于大部分的果粉或者年轻人来说,应该已经很习惯这个新特征了,很多的主流APP也在第一时间适配了3D Touch,为了让自己的APP显得高大上,适配3D Touch就是必不可少的一步了,如何对3D Touch进行开发,网上也有很多的博客,楼主只是学习着应用一下。
在众多的博客中,很感谢下面的博客,楼主也很推荐大家去看一下
iOS9 3D Touch 使用教程
1、静态设置
静态设置就是在项目的Info.plist文件中设置
以上代码如下:
<key>UIApplicationShortcutItems</key><array><dict><key>UIApplicationShortcutItemIconType</key><string>UIApplicationShortcutIconTypeShare</string><key>UIApplicationShortcutItemType</key><string>Title1</string><key>UIApplicationShortcutItemSubtitle</key><string>SubTitle1</string><key>UIApplicationShortcutItemTitle</key><string>StateTitle1</string></dict><dict><key>UIApplicationShortcutItemType</key><string>Title2</string><key>UIApplicationShortcutItemSubtitle</key><string>SubTitle3</string><key>UIApplicationShortcutItemTitle</key><string>StateTitle2</string></dict><dict><key>UIApplicationShortcutItemType</key><string>Title3</string><key>UIApplicationShortcutItemSubtitle</key><string>SubTitle3</string><key>UIApplicationShortcutItemTitle</key><string>StateTitle3</string></dict></array>
效果如下:
其中有几个可以设置的键值
//必须设置值的键 UIApplicationShortcutItemType //位置标识符 UIApplicationShortcutItemTitle //标题 //可选设置值得键 UIApplicationShortcutItemIconType //显示图标系统类型 UIAPPlicationShortcutItemIconFile //显示图标的图片名 UIAPPlicationShortcutItemUserInfo //用户信息字典信息,自定义参数
typedef NS_ENUM(NSInteger, UIApplicationShortcutIconType) { UIApplicationShortcutIconTypeCompose, UIApplicationShortcutIconTypePlay, UIApplicationShortcutIconTypePause, UIApplicationShortcutIconTypeAdd, UIApplicationShortcutIconTypeLocation, UIApplicationShortcutIconTypeSearch, UIApplicationShortcutIconTypeShare, UIApplicationShortcutIconTypeProhibit NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeContact NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeHome NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeMarkLocation NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeFavorite NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeLove NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeCloud NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeInvitation NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeConfirmation NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeMail NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeMessage NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeDate NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeTime NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeCapturePhoto NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeCaptureVideo NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeTask NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeTaskCompleted NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeAlarm NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeBookmark NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeShuffle NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeAudio NS_ENUM_AVAILABLE_IOS(9_1), UIApplicationShortcutIconTypeUpdate NS_ENUM_AVAILABLE_IOS(9_1)} NS_ENUM_AVAILABLE_IOS(9_0) __TVOS_PROHIBITED;
2、动态代码实现
代码的实现需要在方法-applocation:didFinishLaunchingWithOptions:中实现
个人习惯而言,楼主喜欢自定义一个创建方法,在上述方法中调用自定义创建方法即可
#ifdef __IPHONE_9_0 //因为这个类是iOS 9_0 之后的,所以预编译指令,在iOS 9_0 之后进行编译/** * 创建3D Touch选项 */- (void)createShortcutItems{ //最简单的形式 UIApplicationShortcutItem * item1 = [[UIApplicationShortcutItem alloc]initWithType:@"item1" localizedTitle:@"Item1"]; //可以自定义选项 UIApplicationShortcutIcon * icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd]; UIApplicationShortcutItem * item2 = [[UIApplicationShortcutItem alloc]initWithType:@"item2" localizedTitle:@"Item2" localizedSubtitle:@"Item2" icon:icon2 userInfo:nil]; //使用自定义的图片定义选项 UIApplicationShortcutIcon * icon3 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"delete"]; UIApplicationShortcutItem * item3 = [[UIApplicationShortcutItem alloc]initWithType:@"item3" localizedTitle:@"Item3" localizedSubtitle:@"item3" icon:icon3 userInfo:nil]; //响应到APP端 [UIApplication sharedApplication].shortcutItems = @[item3,item2,item1];}#endif
在-applocation:didFinishLaunchingWithOptions:中实现
#ifdef __IPHONE_9_0 [self createShortcutItems];#endif
效果图如下:
响应方法:
按下后如何响应
-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{ NSLog(@"shortcutType = %@",shortcutItem.type);}
0 0
- iOS开发-------3D Touch之ApplicationShortcutItem
- iOS开发之3D Touch
- iOS 3D Touch开发
- iOS 3D touch 开发
- iOS开发-------3D Touch之Peek,Pop,UIPreviewAction
- IOS开发之 一起用Swift来玩一玩3D Touch
- iOS开发 3D-touch使用
- IOS 3D Touch 开发教程
- iOS 3D Touch 开发 实战
- iOS-3D touch相关开发
- iOS 3D Touch开发介绍
- iOS开发-3D Touch简要总结
- iOS 9之3D Touch
- iOS 9 之 3D touch
- 【IOS】iphone6s 3d touch之HelloWorld
- iOS之实现3D Touch
- ios 3D Touch
- iOS 3D touch
- 偶尔回顾一下C99先于C11(三)
- Linux系统下的文件I/O操作
- MongoDB Java使用指南
- iOS开发之UICollectionView
- 订餐系统——TreeView显示目录结构
- iOS开发-------3D Touch之ApplicationShortcutItem
- SSH2框架搭建
- 做竞品分析时,几个容易犯的错误
- 建造者模式
- Android开发学习之路--网络编程之xml、json
- MySQL_面向过程访问.php
- CodeBloks(解决路径问题)以及如何编译C++11新特性
- Docker Images and Registry
- LayoutAnimationController实战案例