0

我正在查看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

如果我是正确的,你把它放在应用程序委托中?

这是如何工作的?是否调用该localizedTitle方法来检查所选操作的标题,然后调用具有该标题的操作?行动在哪里举行?

4

1 回答 1

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 协议参考指南中了解它。但要点是当您的应用程序从快捷方式启动时将调用此方法,您可以检查快捷方式项以执行适当的操作。

于 2015-12-18T01:53:28.720 回答