【3D Touch】Home Screen Quick Actions

Home Screen Quick Actions

随着iOS9iPhone 6s/6s plus的普及,苹果官方提供的3D Touch将带给我们更好玩,更便捷的操作习惯,桌面快捷菜单可谓是3D Touch功能中最实用的一个,有了它,用户不再需要进入app后做额外的操作,便能快速进入指定的页面。

【3D Touch】Home Screen Quick Actions_第1张图片
Home Screen Quick Actions

Quick Actions在程序中分为2种,静态( static quick actions)和动态( static quick actions)


Static quick actions

在info.plist文件中配置需要展示的Quick Actions,在plist中添加UIApplicationShortcutItems

【3D Touch】Home Screen Quick Actions_第2张图片

示例:

UIApplicationShortcutItems
    
        
            UIApplicationShortcutItemIconType
            UIApplicationShortcutIconTypeSearch
            UIApplicationShortcutItemSubtitle
            这是系统图标
            UIApplicationShortcutItemTitle
            系统图标
            UIApplicationShortcutItemType
            $(PRODUCT_BUNDLE_IDENTIFIER).First
            UIApplicationShortcutItemUserInfo
            
                firstShorcutKey1
                firstShortcutKeyValue1
            
        
        
            UIApplicationShortcutItemIconFile
            Quick-Action-Menu-Glyph
            UIApplicationShortcutItemIconType
            UIApplicationShortcutIconTypeShare
            UIApplicationShortcutItemSubtitle
            这是自定义的图标
            UIApplicationShortcutItemTitle
            自定义图标
            UIApplicationShortcutItemType
            2
            UIApplicationShortcutItemUserInfo
            
                secondShortcutKey1
                secondShortcutValue1
            
        
    

字段说明:

UIApplicationShortcutItemType(必须):设置一个ShortcutItem的类型,是一个字符串。

UIApplicationShortcutItemTitle(必须):设置显示的标题。

UIApplicationShortcutItemSubtitle(非必须):设置显示的子标题。

UIApplicationShortcutItemIconFile(非必须):设置自定义显示的图标,应该是单色,35x35的图片,正方形的,否则会出现黑色的图标。如果设置了此段,将忽略UIApplicationShortcutItemTitle

UIApplicationShortcutItemIconType(非必须):设置显示的图标,设置一些枚举使用系统提供的图标,详情可以点击这里。

UIApplicationShortcutItemUserInfo非必须:点击的时候携带的参数。

Dynamic quick actions

在App也可以用代码动态生成我们quick actions

iOS9 在UIApplication 新增了shortcutItems属性,让我们生成动态的quick actions,
具体代码示例:

 ///动态的图标
        let shortCut = UIMutableApplicationShortcutItem(type: "type", localizedTitle: "动态的图标", localizedSubtitle: "这是动态的图标", icon: UIApplicationShortcutIcon(type: .Update), userInfo: nil)
        application.shortcutItems = [shortCut]


处理quick actions事件

AppDelegate中实现 func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void)即可

你可能感兴趣的:(【3D Touch】Home Screen Quick Actions)