前言:网上一直没有找到用Swift开发IOS的好的教程,所以找了官网的文档翻译一下算了。如有错误欢迎指正。博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客
原文链接:Implement Navigation
——————————————————————————————
在本次课程中,我们将使用导航控制器并且创建FoodTracker app的导航控制流,在课程的最后我们将有一个完整的当行模式和交互流。当我们最终完成app之后,界面如图所示
学习目标
在本次课程中,你可以了解到:
- 在 storyboard 的导航控制器中嵌入一个已有的 view controller
- 在 view controller 之间创建segues
- 通过属性查看器编辑在storyboard 中 segue 的属性
- 使用prepareForSegue方法在 view controllers 之前传输数据
- 使用一个解绑的 segue
- 使用stack view 来创建鲁邦、灵活性强的布局
给向前导航增加一个Segue
当数据如我们期望的那样进行显示的时候,我们就可以给我们的菜品场景添加一个导航。场景之前的切换也就称为Segues
1、打开Main.storyboard
2、通过点击 场景 dock 来选择table view
3、选中 table view controller之后点击Editor > Embed In > Navigation Controller.
Xcode会自动为storyboard增加一个新的导航控制器,进入点的位置也会指向这个导航控制器。同时我们需要在导航控制器和已有的table view controller之间创建一个联系
在画布中,默认的关联关系是 root view controller。因为table view controller 是导航控制的根视图控制器。进入点之所以指向了导航控制器是因为现在导航控制器现在是table view controller的容器。
现在我们可以注意到在我们的table view 视图上现在多了一栏。这就是我们的导航栏。每个在导航堆里面的控制机都会有一个导航栏,从而可以控制这些控制器向前或者向后导航。下一步我们需要给导航栏田建一个按钮来切换菜品场景。
里程碑:运行app,在我们的table view 上面有了额外的空间,这个就是稻糠控制器提供的导航栏。因为导航栏显示在了最上面,所以状态栏跟我们的内容没有重叠了。
配置导航栏
现在我们需要给菜单列表添加一个标题,和一个导航切换的按钮。导航栏的标题由当前显示的试图控制器决定。因此我们通过使用菜品列表中的项来修改导航栏的标题,而不是直接写死了。
配置菜品列表的导航栏
接下来可以输入文字
2、输入Your Meals 然后回车
3、打开对象库(View > Utilities > Show Object Library)
4、在对象库中找到 Bar Button Item 对象