最近蘋果婊上市,水果也發佈了Xcode 6.2正式版,WatchKit也能夠正常使用了。水果很及時地提供了Apple Watch的開發文檔,我也及時地嘗試着邊學習邊開發Watch App。html
今天主要想談談的是Watch App的頁面導航模式,這一塊內容與常規的iOS開發相差較大,值得探究。ios
頁面類型api
根據官方文檔描述,Watch App只有兩種頁面形式,分別是Page Based和Hierarchical。這兩種導航形式是不能直接共存的,可是能夠經過Modal Page(模態頁面)實現共存,下面會有演示。app
Page Based頁面與iOS常規開發中的分頁佈局類似,能夠左右滑動切換頁面,屬於同級導航,適用於每一個頁面數據都不於其餘頁面有關聯的狀況,樣式以下:ide
Hierarchical頁面則是與常規iOS開發中的push導航基本一致,實現分級導航,適合更復雜的數據模型或者具備多層次數據的app,效果以下:佈局
Modal Page能夠實現Page Based頁面與Hierarchical頁面共存,自己與常規iOS開發中的模態導航形式基本一致,效果以下:學習
那麼問題來了,如何實現他們呢?ui
設計器中實現十分簡單,和常規iOS開發一致,使用Control+鼠標拖拽的形式,實現效果以下:spa
2.代碼控制實現 設計
固然使用代碼也能夠實現push和model導航,push導航使用的方法主要爲pushControllerWithName:context:, Modal導航使用方法爲presentControllerWithNames:contexts:
及presentControllerWithName:context:
。
以下:
- (IBAction)modalToPage { //模態導航 [self presentControllerWithName:@"DetailIC" context:nil]; } - (IBAction)pushToPage { //push導航 [self pushControllerWithName:@"DetailIC" context:nil]; }
總結:
Apple Watch中的導航形式變少了,須要咱們好好規劃應用的頁面導航結構,同時不能使用代碼運行時添加UI元素,且儘可能不要容許運行long-running tasks的原則,帶來了更多的要求,須要咱們好好考慮下。