iOS 快捷方式 Quick Actions

截屏2021-04-30 下午3.48.21.png

首先支持3d Touch,設(shè)備iPhone 6s+,iOS9+之后新增的功能。兩種方式能實(shí)現(xiàn)--

(1)Info.plist 創(chuàng)建快捷方式

截屏2021-04-30 下午3.49.27.png

快捷方式支持在 Info.plist 里直接定義,主鍵是UIApplicationShortcutItems,它是一個(gè)數(shù)組Array。各個(gè) Key 值可以在查看Information Property List Key Reference,在這里簡(jiǎn)單地介紹一下各個(gè) Key 的作用。

Key 作用
UIApplicationShortcutItemType(必需)   唯一標(biāo)識(shí)
UIApplicationShortcutItemTitle(必需)  顯示的標(biāo)題
UIApplicationShortcutItemSubtitle(可選)   顯示的副標(biāo)題
UIApplicationShortcutItemIconType(可選)   使用系統(tǒng)的圖標(biāo)
UIApplicationShortcutItemIconFile(可選)   使用項(xiàng)目的圖標(biāo)
UIApplicationShortcutItemUserInfo(可選)   附加的信息

點(diǎn)擊快捷方式后方法的調(diào)用

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler API_AVAILABLE(ios(9.0)) {
 NSLog(@"%s", __FUNCTION__);
  
 if ([shortcutItem.type isEqualToString:@"search"]) {
  NSLog(@"用戶從快捷方式“搜索”進(jìn)來(lái)的");
 } else if ([shortcutItem.type isEqualToString:@"list"]) {
  NSLog(@"用戶從快捷方式“榜單”進(jìn)來(lái)的");
 } else if ([shortcutItem.type isEqualToString:@"public"]) {
  NSLog(@"用戶從快捷方式“一鍵發(fā)布”進(jìn)來(lái)的");
 }
}

(2)代碼創(chuàng)建快捷方式

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 NSLog(@"%s", __FUNCTION__);
 
 if (@available(iOS 9.0, *)) {
//  其中的圖標(biāo)可以使用系統(tǒng)自定義,也可以使用項(xiàng)目中的
  UIApplicationShortcutIcon *searchIcon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeSearch];
  UIApplicationShortcutItem *search = [[UIApplicationShortcutItem alloc] initWithType:@"search" localizedTitle:@"搜索" localizedSubtitle:nil icon:searchIcon userInfo:nil];
  
  UIApplicationShortcutIcon *publicIcon = [UIApplicationShortcutIcon iconWithTemplateImageName:@"upload"];
  UIApplicationShortcutItem *public = [[UIApplicationShortcutItem alloc] initWithType:@"public" localizedTitle:@"一鍵發(fā)布" localizedSubtitle:nil icon:publicIcon userInfo:nil];
  
  UIApplicationShortcutItem *list = [[UIApplicationShortcutItem alloc] initWithType:@"list" localizedTitle:@"榜單" localizedSubtitle:@"全區(qū)排行" icon:nil userInfo:nil];
  
  application.shortcutItems = @[list, public, search];
 }
 
 return YES;
}

點(diǎn)擊后觸發(fā)的方法和(1)一樣

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容