Apple Watch筆記-應用內導航模式

最近蘋果婊上市,水果也發佈了Xcode 6.2正式版,WatchKit也能夠正常使用了。水果很及時地提供了Apple Watch的開發文檔,我也及時地嘗試着邊學習邊開發Watch App。html

今天主要想談談的是Watch App的頁面導航模式,這一塊內容與常規的iOS開發相差較大,值得探究。ios

 

頁面類型api

 

 根據官方文檔描述,Watch App只有兩種頁面形式,分別是Page BasedHierarchical。這兩種導航形式是不能直接共存的,可是能夠經過Modal Page(模態頁面)實現共存,下面會有演示app

 

Page Based頁面與iOS常規開發中的分頁佈局類似,能夠左右滑動切換頁面,屬於同級導航,適用於每一個頁面數據都不於其餘頁面有關聯的狀況,樣式以下:ide

 

 

 

Hierarchical頁面則是與常規iOS開發中的push導航基本一致,實現分級導航,適合更復雜的數據模型或者具備多層次數據的app,效果以下:佈局

 

 

Modal Page能夠實現Page Based頁面與Hierarchical頁面共存,自己與常規iOS開發中的模態導航形式基本一致,效果以下:學習

 

 

 

那麼問題來了,如何實現他們呢?ui

 

  1. 設計器裏實現

設計器中實現十分簡單,和常規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的原則,帶來了更多的要求,須要咱們好好考慮下。

最後附上官方文檔地址:https://developer.apple.com/library/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/ConfiguringYourXcodeProject.html#//apple_ref/doc/uid/TP40014969-CH2-SW1

相關文章
相關標籤/搜索