我正在查看UIKit
框架参考,并遇到了UIApplicationShortcutItem
。它适用于3D Touch。
它包含以下代码示例:
let existingShortcutItems = UIApplication.sharedApplication().shortcutItems ?? []
let anExistingShortcutItem = existingShortcutItems[anIndex]
var updatedShortcutItems = existingShortcutItems
let aMutableShortcutItem = anExistingShortcutItem.mutableCopy() as! UIMutableApplicationShortcutItem
aMutableShortcutItem.localizedTitle = “New Title"
updatedShortcutItems[anIndex] = aMutableShortcutItem
UIApplication.sharedApplication().shortcutItems = updatedShortcutItemsode here
如果我说得对,你把它放在app delegate中?
这是如何工作的?调用localizedTitle
方法是否检查所选操作的标题,然后调用具有该标题的操作?行动在哪里?
答案 0 :(得分:0)
您提供的代码将允许您创建快捷项目(即,当用户3D触摸应用程序图标时,与主屏幕上显示的快捷方式相关联的UI)。要响应那些您需要实现的快捷项:
- (void)application:(UIApplication *)application
performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem
completionHandler:(void (^)(BOOL succeeded))completionHandler
或
optional func application( application: UIApplication,
performActionForShortcutItem shortcutItem: UIApplicationShortcutItem,
completionHandler completionHandler: (Bool) -> Void)
在你的UIApplicationDelegate中。您可以在UIApplicationDelegate Protocol Reference Guide中阅读相关内容。但要点是,当您从快捷方式启动应用程序时,将调用此方法,您可以检查shortcutItem以执行相应的操作。