美文网首页
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设置

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