1. 添加按钮(最多添加四个):
// 我实在AppDelegate中调用添加的此方法。根据运行的时间顺序,你也可以把它放在根视图控制器中
- (void)threeDtouch{
UIApplicationShortcutItem *codeItem = [[UIApplicationShortcutItem alloc]initWithType:TOUCH_CODE localizedTitle:KapLocalizedString(Touch_Code) localizedSubtitle:nil icon:[UIApplicationShortcutIcon iconWithTemplateImageName:@"nav_code"] userInfo:nil];
UIApplicationShortcutItem *infoItem = [[UIApplicationShortcutItem alloc]initWithType:TOUCH_MESSAGE localizedTitle:KapLocalizedString(Touch_Message) localizedSubtitle:nil icon:[UIApplicationShortcutIcon iconWithTemplateImageName:@"nav_message"] userInfo:nil];
UIApplicationShortcutItem *writeItem = [[UIApplicationShortcutItem alloc]initWithType:TOUCH_WRITE localizedTitle:KapLocalizedString(Touch_Write) localizedSubtitle:nil icon:[UIApplicationShortcutIcon iconWithTemplateImageName:@"nav_add_friend"] userInfo:nil];
UIApplicationShortcutItem *draftBox = [[UIApplicationShortcutItem alloc]initWithType:TOUCH_DRAFTBOX localizedTitle:KapLocalizedString(Touch_DraftBox) localizedSubtitle:nil icon:[UIApplicationShortcutIcon iconWithTemplateImageName:@"nav_draftbox"] userInfo:nil];
[UIApplication sharedApplication].shortcutItems = @[draftBox,writeItem,infoItem,codeItem];
}
2. AppDelegate中添加回调
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{
// 没登录则跳到登录页面
// if(!isLogin) return;
if ([shortcutItem.type isEqualToString:TOUCH_CODE]) {
return;
}
if ([shortcutItem.type isEqualToString:TOUCH_MESSAGE]) {
return;
}
if ([shortcutItem.type isEqualToString:TOUCH_WRITE]) {
return;
}
if ([shortcutItem.type isEqualToString:TOUCH_DRAFTBOX]) {
return;
}
}
3. 3D-Touch 被点击之后,程序的反应(如果没不处于运行,且不是挂起)
1. 先走 didFinishLaunchingWithOptions方法:完成页面的加载
2. 加载window的rootcontroller
3. 最后回调 - (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler;
方法。进行程序的跳转
网友评论