iOS 实现3DTouch的方法

作者: 枫developer | 来源:发表于2019-03-28 17:37 被阅读166次

好久没有更新简书了,真是很不好意思。未来一个月可能还是不能及时更新,还请见谅。
今天因为时间有限,给大家介绍一个挺有用,而且十分简单的功能:3DTouch。


3DTouch.jpeg

如图,大家在使用iPhone6S以上机型的时候一定用到过这个功能。而且它的实现原理很简单。这里给大家介绍两种:
1.代码实现:

-(void)setup3DTouch {
    /// 这里的字符串的是图片名称,就是显示在3DTouch上的图片
    UIApplicationShortcutIcon *itemIconCart = [UIApplicationShortcutIcon iconWithTemplateImageName:@"cart"];
    /// 这里的中文名是名称。相对应的@“cart”起的是标识作用,相当于tag,来告诉我们用户点击的按钮
    UIApplicationShortcutItem *itemCart = [[UIApplicationShortcutItem alloc] initWithType:@"cart" localizedTitle:@"购物车" localizedSubtitle:@"" icon:itemIconCart userInfo:nil];
    
    UIApplicationShortcutIcon *itemIconDesigner = [UIApplicationShortcutIcon iconWithTemplateImageName:@"designer"];
    UIApplicationShortcutItem *itemDesigner = [[UIApplicationShortcutItem alloc] initWithType:@"designer" localizedTitle:@"品牌" localizedSubtitle:@"" icon:itemIconDesigner userInfo:nil];
    
    UIApplicationShortcutIcon *itemIconSearch = [UIApplicationShortcutIcon iconWithTemplateImageName:@"search"];
    UIApplicationShortcutItem *itemSearch = [[UIApplicationShortcutItem alloc] initWithType:@"search" localizedTitle:@"搜索" localizedSubtitle:@"" icon:itemIconSearch userInfo:nil];
    
    NSMutableArray *arrShortcutItem = (NSMutableArray *)[UIApplication sharedApplication].shortcutItems;
    
    [arrShortcutItem addObjectsFromArray:@[itemCart, itemDesigner, itemSearch]];
    
    /// 将需要的3DTouch按钮放入集合之中
    [UIApplication sharedApplication].shortcutItems = arrShortcutItem;
}

很简单,最终的效果就是第一张图片。

2.plist完成:


plist.jpeg

UIApplicationShortcutItemIconFile
3DTouch按钮的图片名称
UIApplicationShortcutItemTitle
按钮显示名称
UIApplicationShortcutItemType
唯一标识符,就是相当于tag的作用
UIApplicationShortcutItemSubtitle
快捷可选项的子标题
UIApplicationShortcutItemIconType
快捷可选项的图标
UIApplicationShortcutItemUserInfo
快捷可选项的附加信息

好了,介绍完如何显示,接下来我们再介绍用户点击之后我们需要怎么操作。其实简单,在AppDelegate中,有一个方法:

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

所有的操作只需要在这个方法中实现就可以了

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
    NSLog(@"name:%@\ntype:%@", shortcutItem.localizedTitle, shortcutItem.type);
}

接下来,我点击“搜索”,看看会有什么打印出来。


搜索.jpeg

所以大家只需要在方法之中将对应的逻辑完成就可以了。很简单吧。

喜欢的朋友可以收藏一下哈。😘

相关文章

  • iOS 实现3DTouch的方法

    好久没有更新简书了,真是很不好意思。未来一个月可能还是不能及时更新,还请见谅。今天因为时间有限,给大家介绍一个挺有...

  • iOS开发中添加3DTouch功能

    iOS开发中添加3DTouch功能 在AppDelegate入口类的入口方法- (BOOL)application...

  • 添加3DTouch

    检测手机是否支持3DTouch 实现界面的展示:实现了代理的两个方法

  • ios 3DTouch 官方工程OC版

    ios 3DTouch 官方工程OC版 想要看一下 官方 的3DTouch教程,发现例子竟然只有swift版本的,...

  • 3DTouch 使用

    iOS9之后使用3DTouch 3DTouch功能主要分为两大块:主屏幕Icon上的Quick Action;Pe...

  • iOS开发 实现3DTouch

    1.添加3DTouch (我是自己封装的 只是在app 启动的时候吊起) 1.1判断是不是可以使用(ios9 之前...

  • 怎么给App的某个功能添加桌面快捷方式?

    iOS中给App添加快捷方式的几种方案: 3DTouch,长按App唤起3DTouch菜单,这个同时也可以当做小组...

  • 给App的某个功能添加桌面快捷方式

    iOS中给App添加快捷方式的几种方案: 3DTouch,长按App唤起3DTouch菜单,这个同时也可以当做小组...

  • iOS 和 js 交互

    js调用iOS代码 1、iOS定义方法 2、实现方法 3、js端实现方法 js给iOS传参数 1、单个参数 2、多...

  • 详解3DTouch的使用

    3DTouch的简单使用. 介绍 3DTouch是iOS9的时候出来,对硬件也有要求,也就是说只有iPhone6s...

网友评论

    本文标题:iOS 实现3DTouch的方法

    本文链接:https://www.haomeiwen.com/subject/purcbqtx.html