app的快捷键功能,例如:微信
微信快捷键这是什么功能呢?
在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完成。比如用力地长按微信图标,会弹出诸如"扫一扫"和"我的二维码"等常用功能,这个我在加好友的情况下经常会用到,不是"扫"别人就是被别人"扫"。然后这是它的官方介绍,3D Touch - iOS - Apple Developer。
3D Touch这个开始被视为鸡肋的功能,现在终于有用了。
支持设备iPhone 6S 和 6S Plus 及后续出的 iPhone 系列,
系统: iOS 9.0 开始支持 3D Touch
这些怎么实现的呢?
1、在info.plist里添加UIApplicationShortcutItems
<key>UIApplicationShortcutItems</key>
<array>
<dict>
<key>UIApplicationShortcutItemSubtitle</key>
<string>关注我</string>
<key>UIApplicationShortcutItemTitle</key>
<string>扫一扫</string>
<key>UIApplicationShortcutItemType</key>
<string>scan</string>
</dict>
<dict>
<key>UIApplicationShortcutItemIconFile</key>
<string>upload</string>
<key>UIApplicationShortcutItemTitle</key>
<string>一键发布</string>
<key>UIApplicationShortcutItemType</key>
<string>public</string>
</dict>
<dict>
<key>UIApplicationShortcutItemIconType</key>
<string>UIApplicationShortcutIconTypeSearch</string>
<key>UIApplicationShortcutItemTitle</key>
<string>搜索</string>
<key>UIApplicationShortcutItemType</key>
<string>search</string>
</dict>
</array>
app内部跳转实现
- (void)application:(UIApplication*)applicationperformActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItemcompletionHandler:(void(^)(BOOL))completionHandler API_AVAILABLE(ios(9.0)) {
NSLog(@"%s", __FUNCTION__);
if([shortcutItem.typeisEqualToString:@"search"]) {
NSLog(@"搜索");
}elseif([shortcutItem.typeisEqualToString:@"scan"]) {
NSLog(@"扫一扫");
}elseif([shortcutItem.typeisEqualToString:@"public"]) {
NSLog(@"一键发布");
}
}
运行效果
app快捷菜单补充:
info.plist 的UIApplicationShortcutItems里Key值说明
UIApplicationShortcutItemType(必需)唯一标识
UIApplicationShortcutItemTitle(必需)显示的标题
UIApplicationShortcutItemSubtitle(可选)显示的副标题
UIApplicationShortcutItemIconType(可选)使用系统的图标
UIApplicationShortcutItemIconFile(可选)使用项目的图标
UIApplicationShortcutItemUserInfo(可选)附加的信息
网友评论