Apple Watch開發(三)--WatchKit簡介和Watch適配、布局,--watchkitwatch
上篇簡單介紹了建立了一個Apple Watch開發的project的過程,那麼對於新產生的檔案有什麼用呢?老項目怎麼適配Apple Watch呢?下面我就來簡單介紹下WatchKit和Watch項目中的檔案作用、及其布局特點。
一、 舊項目適配Apple Watch
普通老項目可以添加Apple Watch嗎?需要注意什嗎?有些人直接在舊的項目中,按照上篇寫的那樣去添加一個Apple Watch的Target,但是一編譯發現出錯了,報錯如下:
error:WatchKit apps must have a deployment target equal to iOS 8.2 (was 8.3).
看到錯誤,顧名思義,我們去修改下Watch app對應的deployment target版本就行了,具體如:
二、項目簡介
上篇中我們建立完項目後發現它給自動建立了幾個storyboard,選中Interface.storyboard,右邊會發現有四種storyboard,即我們第一篇中所說的三種互動方式或者說介面類型:Watch app、glance、notification(靜態、動態)
而我們回到Extension代碼部分,選中InterfaceController.h檔案,我們發現這裡已經沒有之前的UIKit架構了,而是WatchKit,之前的UIView之類的在這都不好使了,而是一套新的布局方式;和UIViewController類似,這裡也有控制器,但是它繼承自WKInterfaceController,它是NSObject的子類,和UIViewController沒有任何關係:
這也證實了我們第一篇時所說的Apple Watch和iPhone的聯動綁定關係:
三、Watch訊息提醒
另外我們點擊PushNotificationPayload.apns檔案,會發現是一個json字串,裡面的key關鍵字,相信你們並不陌生,沒錯這就是配置notification介面的設定檔,有訊息提示內容和按鈕的標題等;
另外我們看下notification類型的介面,分為靜態和動態,靜態是按照我們配置的內容提示的,而動態是根據app推送的訊息顯示的:
那麼notification的介面運行原理為:
四、WatchKit簡介
我們選中選中InterfaceController.m檔案,會發現裡面自動產生的方法和我們之前的UIViewController類似,分別可以看做UIViewController的init,viewDidLoad, viewWillAppear, viewDidUnload:
他們的運行原理也類似:
那麼在WatchKit中大體上有哪些類呢?在官方文檔中我們可以看到如下幾個類及其介紹:
WatchKit剛剛興起,還有很多需要完善和擴充,當前在Watch開發中用到的組件不多,主要有以下組件:
五、Watch的布局方式
下面簡單介紹下Watch app組件的布局特點,他們的布局類似Android或網頁的相對布局,分為:左中右、上中下的布局;
強行手動拖動組件的位置是沒用的,必須在右側進行位置的設定:
因為Watch app的介面布局都是storyboard布局的,所以一些組件和代碼的關聯就和以前用xib時一樣了,不過這些控制項產生的方法與之前有些不一樣,比如按鈕的方法是不帶參數的,下面這些常用組件產生的方法:
(轉載請註明:http://blog.csdn.net/yujianxiang666)