OC ShortCut 项目实战

一、shortcut系统版本支持

shortcut是在iOS9推出的app快捷入口,基于长按app图标弹出快捷入口列表,可以自定义图标和文本,以及跳转方法。

二、shortcut实现

创建图标

// icons with my own images,icon size 35*35
    UIApplicationShortcutIcon *icon1 =  [UIApplicationShortcutIcon iconWithTemplateImageName:@"icon1"];

创建标识和方法名

 // create several (dynamic) shortcut items
    UIMutableApplicationShortcutItem *item1 = [[UIMutableApplicationShortcutItem alloc] initWithType:@"标识" localizedTitle:@"标题名" localizedSubtitle:@"" icon:icon1 userInfo:nil];

将定义好shortcut 填入容器中

[UIApplication sharedApplication].shortcutItems =@[item1];

触发shortcut的代理方法

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
    // react to shortcut item selections
    NSLog(@"A shortcut item was pressed. It was %@.", shortcutItem.localizedTitle);

三、shortcut在不同场景下的场景优化

在rootVC 也就是在TabbarVC中添加通知,从rootvc接收通知的时候 加一个延时然后跳转到目标页面。如何设置延时秒是,那就得设置一个全局变量来显示app查是否从后台到前台的场景以及app重新启动的时候场景,app重新启动的话,延时要久一些,因为某些业务模块需要数据预加载才能跳转到相关页面。

场景一:app在后台

场景二:app未启动

你可能感兴趣的:(个人OC知识梳理,objective-c,开发语言,macos)