3D-touch API - Home Screen Quick Actions

3D-touch目前有兩種主要的使用方式

Home Screen Quick Actions

應(yīng)用快速操作分為靜態(tài)和動態(tài)兩種

  • 靜態(tài)

Static quick actions are available to the user immediately upon app installation. Define Home screen static quick actions in your app’s Info.plist file in the UIApplicationShortcutItems array.

靜態(tài)方式通過info.plist的方式來實現(xiàn)

  • 動態(tài)

Dynamic quick actions are available to the user after first launch. Define Home screen dynamic quick actions with the UIApplicationShortcutItem, UIMutableApplicationShortcutItem, and UIApplicationShortcutIcon classes. Add dynamic quick actions to your app’s shared UIApplication object using the shortcutItems property.

動態(tài)方式通過創(chuàng)建UIApplicationShortcutItem, UIMutableApplicationShortcutItem和UIApplicationShortcutIcon對象,并在應(yīng)用第一次啟動的時候添加到UIApplication的shortcutItems數(shù)組里面來實現(xiàn)

iOS 9 displays up to four Home screen quick actions for your app. Within this limit, the system shows your static quick actions first, starting at the topmost position in the menu. If your static items do not exhaust the limit and you have also defined dynamic quick actions, then one or more of your dynamic quick actions is displayed.

iOS 9 默認(rèn)的先顯示靜態(tài)的快速操作,如果靜態(tài)的快捷方式?jīng)]有超過4個,再去顯示動態(tài)的快速操作,一共可以顯示4個快捷方式.

UIApplicationShortcutItem簡介

An application shortcut item, also called a Home screen dynamic quick action, specifies a user-initiated action for your app.

這個類就是一個快速操作類,創(chuàng)建一個這個類就相當(dāng)也創(chuàng)建了一個快速操作

主要屬性如下:

  • localizedTitle

The required, user-visible title for the Home screen dynamic quick action.

必須的 快速操作的標(biāo)題

  • localizedSubtitle

The optional, user-visible subtitle for the Home screen dynamic quick action.

可選的 快速操作的副標(biāo)題

  • type

A required, app-specific string that you employ to identify the type of quick action to perform.

必須的 快速操作的類型 用來標(biāo)識執(zhí)行的快速操作類型

  • icon

The optional icon for the Home screen dynamic quick action.

可選的 快速操作的圖標(biāo) 會被渲染成同一種顏色

  • userinfo

Optional, app-specific information that you can provide for use when your app performs the Home screen quick action.

可選的 用戶信息 可以在用戶執(zhí)行快速操作的時候傳遞給用戶

UIMutableApplicationShortcutItem簡介

A mutable application shortcut item, also called, verbosely, a mutable Home screen dynamic quick action, specifies a configurable user-initiated action for your app. This class is a convenience subclass of UIApplicationShortcutItem, helping you work with registered, and therefore immutable, quick actions.

這個類繼承自UIApplicationShortcutItem,區(qū)別在于這個類的屬性是可以進行修改了,不是readonly

UIApplicationShortcutIcon簡介

An application shortcut, or quick action, icon is an image you can optionally associate with a Home screen quick action to improve its appearance and usability.

圖標(biāo):每一個快捷操作都配有一個圖標(biāo)

There are three types of quick action icon:

An icon from a system-provided library of common types, as described in the UIApplicationShortcutIconType enumeration

An icon derived from a custom template image in your app’s bundle and preferably in an asset catalog (see Template Images in UIKit User Interface Catalog and Asset Catalog Help)

An icon representing a contact in the user's address book, which you access through the ContactsUI framework (see ContactsUI)

圖標(biāo)分為三種:

  • 系統(tǒng)提供的圖標(biāo)
  • 用戶自定義的圖標(biāo)
  • 聯(lián)系人圖標(biāo)

code

  • 靜態(tài)的快速操作實現(xiàn)方式

在info.plist里面添加如下代碼:

<key>UIApplicationShortcutItems</key>
    <array>
        <dict>
            <key>UIApplicationShortcutItemIconFile</key>
            <string>open-favorites</string>
            <key>UIApplicationShortcutItemTitle</key>
            <string>Favorites</string>
            <key>UIApplicationShortcutItemType</key>
            <string>com.mycompany.myapp.openfavorites</string>
            <key>UIApplicationShortcutItemUserInfo</key>
            <dict>
                <key>key1</key>
                <string>value1</string>
            </dict>
        </dict>
        <dict>
            <key>UIApplicationShortcutItemIconType</key>
            <string>UIApplicationShortcutIconTypeCompose</string>
            <key>UIApplicationShortcutItemTitle</key>
            <string>New Message</string>
            <key>UIApplicationShortcutItemType</key>
            <string>com.mycompany.myapp.newmessage</string>
            <key>UIApplicationShortcutItemUserInfo</key>
            <dict>
                <key>key2</key>
                <string>value2</string>
            </dict>
        </dict>
    </array>

效果如圖:

tupian
  • 動態(tài)的快速操作實現(xiàn)方式

在AppDelegate的如下方法中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

導(dǎo)入以下代碼

UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeCompose];

UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeShare];

UIApplicationShortcutIcon *icon3 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];

UIMutableApplicationShortcutItem *item1 = [[UIMutableApplicationShortcutItem alloc] initWithType:@"com.test.dynamic" localizedTitle:@"item1" localizedSubtitle:@"item1sub" icon:icon1 userInfo:nil];

UIMutableApplicationShortcutItem *item2 = [[UIMutableApplicationShortcutItem alloc] initWithType:@"com.test.dynamic" localizedTitle:@"item2" localizedSubtitle:@"item2sub" icon:icon2 userInfo:nil];

UIMutableApplicationShortcutItem *item3 = [[UIMutableApplicationShortcutItem alloc] initWithType:@"com.test.dynamic" localizedTitle:@"item3" localizedSubtitle:@"item3sub" icon:icon3 userInfo:nil];

NSArray *items = @[item1, item2, item3];

//只需添加一次就好了
if ([UIApplication sharedApplication].shortcutItems.count == 0) {
    
    [UIApplication sharedApplication].shortcutItems = items;
    
}

效果如下:

  • 點擊之后我們怎么去執(zhí)行相應(yīng)的操作

點擊一個快速操作后就會調(diào)用如下方法,在這里就可以拿到UIApplicationShortcutItem對象,根據(jù)不同的對象可以做出不同的操作

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
    
    NSLog(@"%@",shortcutItem.localizedTitle);

}

Called when the user selects a Home screen quick action for your app, except when you’ve intercepted the interaction in a launch method.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末水慨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子诈闺,更是在濱河造成了極大的恐慌涛浙,老刑警劉巖谈竿,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咸灿,死亡現(xiàn)場離奇詭異匪燕,居然都是意外死亡蕾羊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門帽驯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龟再,“玉大人,你說我怎么就攤上這事尼变±眨” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵享甸,是天一觀的道長截碴。 經(jīng)常有香客問我,道長蛉威,這世上最難降的妖魔是什么日丹? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蚯嫌,結(jié)果婚禮上哲虾,老公的妹妹穿的比我還像新娘丙躏。我一直安慰自己,他們只是感情好束凑,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布晒旅。 她就那樣靜靜地躺著,像睡著了一般汪诉。 火紅的嫁衣襯著肌膚如雪废恋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天扒寄,我揣著相機與錄音鱼鼓,去河邊找鬼。 笑死该编,一個胖子當(dāng)著我的面吹牛迄本,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播课竣,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼嘉赎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了于樟?” 一聲冷哼從身側(cè)響起公条,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隔披,沒想到半個月后赃份,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡奢米,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年抓韩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鬓长。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡谒拴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涉波,到底是詐尸還是另有隱情英上,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布啤覆,位于F島的核電站苍日,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窗声。R本人自食惡果不足惜相恃,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笨觅。 院中可真熱鬧拦耐,春花似錦耕腾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至固翰,卻和暖如春狼纬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倦挂。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工畸颅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人方援。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像涛癌,于是被迫代替她去往敵國和親犯戏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的閱讀 13,478評論 5 6
  • afinalAfinal是一個android的ioc拳话,orm框架 https://github.com/yangf...
    passiontim閱讀 15,434評論 2 45
  • 前言 關(guān)于這篇文章 由于iPhone 6S發(fā)布不到一年的時間先匪,很多新特性、新技術(shù)還未普遍弃衍,不管是3D Touch的...
    Tangentw閱讀 4,498評論 8 18
  • 此刻呀非,臥室開著窗戶,站在窗邊镜盯,深深的嗅一口夏天夜晚的氣息岸裙,嗯,這就是2017夏天的味道速缆。 今晚跳的很high降允,臨走...
    趙自律閱讀 261評論 0 0
  • 又是一個孤枕難免的夜,我打開已經(jīng)關(guān)機的手機艺糜,搜索來自這個世界的唯一的光明剧董。 愛人說:“不要以為你長得有多漂亮,男人...
    余下清香閱讀 161評論 2 0