天天看點

Apple Watch Kit(3)- GlanceGlance

Glance

​整理的内容有不夠準确的,望大家積極排雷交流指正。
      

Glance 是什麼

Glance Interface 是WatchKit提供的一個Apple Watch入口。Glances頁面不可以滑動,隻能提供一個螢幕;隻能用于讀取資料,不能用于編輯修改資料;不能包含按鈕、開關和其他互動的control;點選進入對應的watch app。

一個應用隻允許有一個glance接口控制器,是以在使用glance顯示你的資料的時候必須考慮這個問題。(隻允許顯示一個手表的螢幕大小)。

Glance顧名思義一瞥,讓使用者一瞥式浏覽。
      

當點選Glance進入對應的watch app,我們能做點什麼嗎?答案:必須的。

Responds to Handoff–related activity.
    響應切換相關的活動,
      

你可以再Glance controller 中通過updateUserActivity:userInfo: 方法更新設定使用者資訊(userInfo)。相應的在watch app可以通過handleUserActivity:userInfo方法接收在Glance中更新設定的使用者資訊(依字典類型存儲)。

如下代碼:

  • 在Glance interface controller中更新設定使用者資訊的代碼:
    - (void)willActivate {
              NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
              [self updateUserActivity:bundleIdentifier userInfo:@{
                                                                   @"controllerName": @"imageDetailController",   
    
                                                                   @"detailInfo": @"This is some more detailed information to pass."
                                                                   }];
          }
          
  • 在watch app的main controler中接收使用者資訊代碼:
    /**
       *@description 點選Glance的啟動watch app的時候調用,如果沒使用方法updateUserActivity: userInfo:更新設定使用者資訊則不會調用。
       *@param       userInfo :使用者資訊
       *@returns     void
       */
      - (void)handleUserActivity:(NSDictionary *)userInfo {
        [self pushControllerWithName:userInfo[@"controllerName"] context:userInfo[@"detailInfo"]]; 
      }