国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

3D-TouchHomeScreenQuickActions使用

2019-11-14 18:00:30
字體:
來源:轉載
供稿:網友

1. 3D-Touch簡單介紹

  3D-Touch是iphone 6s推出的一種可以讓你與手機進行互動的全新方式。這一次,iPhone 能夠感應你按壓屏幕的力度。除了輕點、輕掃、雙指開合這些熟悉的 Multi?Touch 手勢之外,3D Touch 還帶來 Peek 和 Pop,為 iPhone 的使用體驗開拓出全新的維度。而且,當你使用 3D Touch 時,iPhone 將回以輕微的觸感,讓你不僅能夠看到按下屏幕的操作效果,還能感覺得到。

  3D-Touch含有3種feature功能,壓力感應(PRess Sensitivity)、Peek和Pop手勢、快捷方式(Quick Actions)

      

2. 如果讓模擬器支持3D-Touch

   目前官方文檔還不支持3d-touch,可以借助github的開源項目,SBShortcutMenuSimulator(點擊下載).

安裝和使用也比較簡單

  1. 安裝 
    git clone https://github.com/DeskConnect/SBShortcutMenuSimulator.gitcd SBShortcutMenuSimulatormake
  2. 安裝完,在SBShortcutMenuSimulator的目錄執行以下方法
    xcrun simctl spawn booted launchctl debug system/com.apple.SpringBoard --environment DYLD_INSERT_LIBRARIES=$PWD/SBShortcutMenuSimulator.dylibxcrun simctl spawn booted launchctl stop com.apple.SpringBoard
  3. 使用
    // 'com.x.x' 為程序的bundle id, id可以隨便指定
    echo 'com.xxx.xxx' | nc 127.0.0.1 8000

     

3. Quick Actions2種適配方法

  1. 靜態定義

    靜態定義常用的key:

UIapplicationShortcutItemType     //(必須使用) 用來區分與其他快速選項的分類UIApplicationShortcutItemTitle    //(必須使用) 快速選項顯示的標題UIApplicationShortcutItemSubtitle  // 快速選項顯示的子標題UIApplicationShortcutItemIconType  // 圖片類型由系統提供,大約提供了29種UIApplicationShortcutItemIconFile  // 自定義的圖標UIApplicationShortcutItemUserInfo  // 附加信息(NSDictionary)

     靜態設置在Info.plist文件中定義

<key>UIApplicationShortcutItems</key>    <array>        <dict>            <key>UIApplicationShortcutItemIconType</key>            <string>UIApplicationShortcutIconTypeBookmark</string>            <key>UIApplicationShortcutItemTitle</key>            <string>打開最后閱讀的書籍</string>            <key>UIApplicationShortcutItemType</key>            <string>3dTouchOpenBookItem</string>            <key>UIApplicationShortcutItemUserInfo</key>            <dict>                <key>shorcutKey</key>                <string>shorcutValue</string>            </dict>        </dict>        <dict>            <key>UIApplicationShortcutItemIconType</key>            <string>UIApplicationShortcutIconTypeSearch</string>            <key>UIApplicationShortcutItemTitle</key>            <string>搜索書架</string>            <key>UIApplicationShortcutItemType</key>            <string>3dTouchSearchItem</string>        </dict>

      <dict>
        <key>UIApplicationShortcutItemIconFile</key>
        <string>dl_d.png</string>
        <key>UIApplicationShortcutItemTitle</key>
        <string>熱門活動</string>
        <key>UIApplicationShortcutItemType</key>
        <string>QuickActionActivityItem</string>
      </dict>

    </array>

  ps : 如果使用 UIApplicationShortcutItemIconFile, UIApplicationShortcuIconType將不起作用,使用參考上面紅色字體的地址

  2. 動態定義

- (void)initApplication3DTouch:(UIApplication *)application {        NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init];    [userInfo setObject:@"哈哈" forKey:@"haha"];    // 自定義獲取本地的圖片并傳遞一些參數    UIMutableApplicationShortcutItem *itemTest = [[UIMutableApplicationShortcutItem alloc] initWithType:@"3" localizedTitle:@"標題" localizedSubtitle:@"副標題" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:@"本地圖片"] userInfo:userInfo];        // 打開最后閱讀的一本書    UIApplicationShortcutIcon *openBook = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeBookmark];    UIMutableApplicationShortcutItem *itemOpenBook = [[UIMutableApplicationShortcutItem alloc] initWithType:@"2" localizedTitle:@"打開最后閱讀的書籍"];    itemOpenBook.icon = openBook;        // 找書    UIApplicationShortcutIcon *searchBook = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeSearch];    UIMutableApplicationShortcutItem *itemSearchBook = [[UIMutableApplicationShortcutItem alloc] initWithType:@"1" localizedTitle:@"搜索書架"];    itemSearchBook.icon = searchBook;        //    application.shortcutItems = @[itemTest, itemOpenBook, itemSearchBook];}

  

  3. 響應Quick Actions事件

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {     if ([shortcutItem.type isEqualToString:@"1"]) {        NSLog(@"搜索書架");    } else if ([shortcutItem.type isEqualToString:@"3"]) {        NSDictionary *dict = shortcutItem.userInfo;        NSLog(@"dict為傳遞過來的參數");    }}

 

 3. 備注

  1. 快捷標簽最多可以創建四個,包括靜態的和動態的. 靜態的會顯示在動態的前面

  2. 靜態的可以在程序不打開的情況下顯示,動態的不可以

  3. 關于如何動態的移除動態添加的Quick Actions   

application.shortcutItems = nil; // 嘗試了一下,可以通過這個方式把動態quick action移除

 

  如果你不是在wb145230博客園看到本文,請點擊查看原文.

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祥云县| 北宁市| 定州市| 岑巩县| 白银市| 博野县| 娱乐| 石景山区| 岢岚县| 铁力市| 湛江市| 寻甸| 伊春市| 肃宁县| 兰西县| 四子王旗| 临潭县| 镇平县| 巴彦淖尔市| 什邡市| 彭州市| 黑河市| 叙永县| 鹿泉市| 香河县| 凤城市| 德化县| 巩义市| 景谷| 故城县| 印江| 新闻| 淳化县| 石柱| 碌曲县| 黎川县| 工布江达县| 宁晋县| 建昌县| 永修县| 巫山县|