实现UIApplicationShortcutItem

时间:2015-12-17 22:10:53

标签: ios uikit 3dtouch uiapplicationshortcutitem

我正在查看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方法是否检查所选操作的标题,然后调用具有该标题的操作?行动在哪里?

1 个答案:

答案 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以执行相应的操作。