最近苹果婊上市,水果也发布了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的原则,带来了更多的要求,须要咱们好好考虑下。