美文网首页
3D-Touch设置

3D-Touch设置

作者: 你飞跃俊杰 | 来源:发表于2022-07-02 10:50 被阅读0次

key 作用
uiapplicationshortcutitemtype(必需) 唯一标识
uiapplicationshortcutitemtitle(必需) 显示的标题
uiapplicationshortcutitemsubtitle(可选) 显示的副标题
uiapplicationshortcutitemicontype(可选) 使用系统的图标
uiapplicationshortcutitemiconfile(可选) 使用项目的图标
uiapplicationshortcutitemuserinfo(可选) 附加的信息
以下是一个详细的例子,上述的 key 除了 uiapplicationshortcutitemuserinfo 外,其它都实现了。


292443_20210728122703677.png 292443_20210728122703692.jpg.png 292443_20210728122703770.jpg.png

通过在 appdelegate.m 文件中实现 uiapplicationdelegate 的代理方法application:performactionforshortcutitem:completionhandler:,可以得知用户是从哪个快捷方式进来的,具体代码如下。

- (void)application:(uiapplication *)application performactionforshortcutitem:(uiapplicationshortcutitem *)shortcutitem completionhandler:(void (^)(bool))completionhandler  api_available(ios(9.0)) {
    nslog(@"%s", __function__);
    
    if ([shortcutitem.type isequaltostring:@"search"]) {
        nslog(@"用户从快捷方式“搜索”进来的");
    } else if ([shortcutitem.type isequaltostring:@"list"]) {
        nslog(@"用户从快捷方式“榜单”进来的");
    } else if ([shortcutitem.type isequaltostring:@"public"]) {
        nslog(@"用户从快捷方式“一键发布”进来的");
    }
}

快捷方式也支持代码创建,每一个 uiapplicationshortcutitem 就是一个快捷方式,一般在 appdelegate.m 文件中实现方法 application:didfinishlaunchingwithoptions: 里编写实现代码,代码比较易懂,这里就不再说明了。

- (bool)application:(uiapplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions {
    nslog(@"%s", __function__);
    
    if (@available(ios 9.0, *)) {
        uiapplicationshortcuticon *searchicon = [uiapplicationshortcuticon iconwithtype:uiapplicationshortcuticontypesearch];
        uiapplicationshortcutitem *search = [[uiapplicationshortcutitem alloc] initwithtype:@"search" localizedtitle:@"搜索" localizedsubtitle:nil icon:searchicon userinfo:nil];
        
        uiapplicationshortcuticon *publicicon = [uiapplicationshortcuticon iconwithtemplateimagename:@"upload"];
        uiapplicationshortcutitem *public = [[uiapplicationshortcutitem alloc] initwithtype:@"public" localizedtitle:@"一键发布" localizedsubtitle:nil icon:publicicon userinfo:nil];
        
        uiapplicationshortcutitem *list = [[uiapplicationshortcutitem alloc] initwithtype:@"list" localizedtitle:@"榜单" localizedsubtitle:@"全区排行" icon:nil userinfo:nil];
        
        application.shortcutitems = @[list, public, search];
    }
    
    return yes;
}

相关文章

  • 3D-Touch设置

    key 作用uiapplicationshortcutitemtype(必需) 唯一标识uiapplicati...

  • iOS开发/两种简单实现3dTouch的方法

    iPhone用力长按触发3D-Touch效果,如下: 实现3D-Touch效果方法有两种: 一、在.plist文件...

  • 3D-Touch 简单的Demo

    最近研究了一下3D-Touch,实现了两种3D-Touch的效果.写了一个简单的Demo. 第一种 : 在icon...

  • 3D-Touch

    //先判断是否支持3D-Touch [self registPreview]; //图标可多写 UIApplica...

  • 3D-touch

    http://blog.csdn.net/showhilllee/article/details/48376073...

  • 3D-touch

    苹果在6s 中引入的心的功能.虽然有点鸡肋的感觉.但还是要看一下. 1. Home Screen Quick Ac...

  • 3D-Touch

    现在一些主流的APP都包含3Dtouch的功能,我们当然也不能落下,下面向大家推荐一个3Dtouch的De...

  • 3D-touch API - Home Screen Quick

    3D-touch目前有两种主要的使用方式 Home Screen Quick Actions 应用图标的快捷按钮 ...

  • 3D-touch API - Peek and Pop

    3D-touch目前有两种主要的使用方式 Home Screen Quick Actions 应用图标的快捷按钮 ...

  • iOS10通知使用/3D-Touch使用

    iOS10通知使用/3D-Touch使用 概序: 主要实现iOS10中 UserNotifications 对带选...

网友评论

      本文标题:3D-Touch设置

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