最近苹果婊上市,水果也发布了Xcode 6.2正式版,WatchKit也可以正常使用了。水果很及时地提供了Apple Watch的开发文档,我也及时地尝试着边学习边开发Watch App。

今天主要想谈谈的是Watch App的页面导航模式,这一块内容与常规的iOS开发相差较大,值得探究。

页面类型

根据官方文档描述,Watch App只有两种页面形式,分别是Page BasedHierarchical。这两种导航形式是不能直接共存的,但是可以通过Modal Page(模态页面)实现共存,下面会有演示

Page Based页面与iOS常规开发中的分页布局相似,可以左右滑动切换页面,属于同级导航,适用于每个页面数据都不于其他页面有关联的情况,样式如下:

Hierarchical页面则是与常规iOS开发中的push导航基本一致,实现分级导航,适合更复杂的数据模型或者具有多层次数据的app,效果如下:

Modal Page可以实现Page Based页面与Hierarchical页面共存,本身与常规iOS开发中的模态导航形式基本一致,效果如下:

那么问题来了,如何实现他们呢?

  1. 设计器里实现

设计器中实现十分简单,和常规iOS开发一致,使用Control+鼠标拖拽的形式,实现效果如下:

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

最新文章

  1. git切换到远程分支
  2. .NET中表单的JS验证
  3. 原生js实现放大镜效果
  4. 【转】RESTful Web Services初探
  5. java三种工厂模式
  6. css 不确定元素宽度的水平居中
  7. Android4.4KitKat支持u盘功能
  8. 又双叒叕换,微软这次换Edge了
  9. swoole异步群发模板消息
  10. python学习第二讲,pythonIDE介绍以及配置使用
  11. mysql锁分析相关的几个系统视图
  12. vs2015 不能启动 iis express
  13. xsy子矩形
  14. ThinkPHP框架 【 AJAX方法返回 】 例子:简单添加一条数据 和 查询一个表里的数据
  15. Tom与Jerry谁先死?
  16. Cookie-base 认证实现(学习笔记)
  17. Q:链表的倒数第K个元素
  18. mac 下常用快捷键
  19. Python数据可视化的10种技能
  20. 具备双向通行能力的架构对于移动APP属于刚性需求。 WebSocket连接 注册信令

热门文章

  1. vue项目中使用axios上传图片等文件
  2. centos下通过pid查看进程的绝对路径的方法
  3. NLTK 统计词频
  4. step_by_step_webapi执行时间
  5. 服务器&linux
  6. 深度学习中Dropout原理解析
  7. python爬虫小说代码,可用的
  8. FortiGate双链路不同运营商上网配置
  9. [leetcode]99. Recover Binary Search Tree恢复二叉搜索树
  10. redis 3.2.1 centos7