溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發Quick Actions如何創建桌面Icon快捷方式

發布時間:2021-06-07 13:39:15 來源:億速云 閱讀:278 作者:小新 欄目:移動開發

這篇文章主要為大家展示了“iOS開發Quick Actions如何創建桌面Icon快捷方式”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“iOS開發Quick Actions如何創建桌面Icon快捷方式”這篇文章吧。

簡介

在支持 3D Touch 的設備上,Quick Actions 可以讓用戶更快,更少的操作步驟去完成他們最常做的事情,其中這么多操作可以通過主屏幕直接完成。比如用力地長按微信圖標,會彈出諸如"掃一掃"和"我的二維碼"等常用功能,這個我在加好友的情況下經常會用到,不是"掃"別人就是被別人"掃"。然后這是它的官方介紹,3D Touch - iOS - Apple Developer。

本文的 Demo 已放到 GitHub 上,Demo 請到 GarveyCalvin/iOS-Travel 下載。

支持的設備是在 iPhone 6S 和 6S Plus 及后續出的 iPhone 系列,系統則是從 iOS 9.0 開始支持 3D Touch。

Info.plist 創建快捷方式

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

Key作用
UIApplicationShortcutItemType(必需)唯一標識
UIApplicationShortcutItemTitle(必需)顯示的標題
UIApplicationShortcutItemSubtitle(可選)顯示的副標題
UIApplicationShortcutItemIconType(可選)使用系統的圖標
UIApplicationShortcutItemIconFile(可選)使用項目的圖標
UIApplicationShortcutItemUserInfo(可選)附加的信息

以下是一個詳細的例子,上述的 Key 除了 UIApplicationShortcutItemUserInfo 外,其它都實現了。

iOS開發Quick Actions如何創建桌面Icon快捷方式

現在我們來看看運行效果,值得一提的是,圖標分別在上半屏和下半屏的情況下,顯示的排序是會不同的,具體運行效果如下所示。

圖標在上半屏

iOS開發Quick Actions如何創建桌面Icon快捷方式

圖標在下半屏

iOS開發Quick Actions如何創建桌面Icon快捷方式

判斷用戶點擊了哪個快捷方式

通過在 AppDelegate.m 文件中實現 UIApplicationDelegate 的代理方法

application:performActionForShortcutItem:completionHandler:,可以得知用戶是從哪個快捷方式進來的,具體代碼如下。

- (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(@"用戶從快捷方式“搜索”進來的");
 } else if ([shortcutItem.type isEqualToString:@"list"]) {
  NSLog(@"用戶從快捷方式“榜單”進來的");
 } else if ([shortcutItem.type isEqualToString:@"public"]) {
  NSLog(@"用戶從快捷方式“一鍵發布”進來的");
 }
}

代碼創建快捷方式

快捷方式也支持代碼創建,每一個 UIApplicationShortcutItem 就是一個快捷方式,一般在 AppDelegate.m 文件中實現方法 application:didFinishLaunchingWithOptions: 里編寫實現代碼,代碼比較易懂,這里就不再說明了。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 NSLog(@"%s", __FUNCTION__);
 
 if (@available(iOS 9.0, *)) {
  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:@"一鍵發布" localizedSubtitle:nil icon:publicIcon userInfo:nil];
  
  UIApplicationShortcutItem *list = [[UIApplicationShortcutItem alloc] initWithType:@"list" localizedTitle:@"榜單" localizedSubtitle:@"全區排行" icon:nil userInfo:nil];
  
  application.shortcutItems = @[list, public, search];
 }
 
 return YES;
}

資料

本文的 Demo 已放到 GitHub 上,Demo 請到 GarveyCalvin/iOS-Travel 下載。

環境

Xcode: Version 10.1 (10B61)

測試機型:iPhone XS Max

測試系統:iOS 12.1

以上是“iOS開發Quick Actions如何創建桌面Icon快捷方式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女