3.5 UINavigationController视图入栈和出
1. 在欢迎窗口右侧的历史项目列表中,双击打开之前创建的导航控制器项目模板。


3. 在这一节课中,您将使用到导航视图控制器的几个跳转方式。现在来一步步编写代码。



6. 然后根据当前的全局变量数值,设置视图控制器的标题名称。







13. 再添加一个按钮,当点击按钮时,从当前页面返回至上一级页面。





18. 再添加一个按钮,当点击按钮时, 返回到指定序号的视图。














32. 当前视图控制器,将从导航视图控制器堆栈中移除,并返回至上一页面,相当于出栈操作。


34. 根据导航视图控制器中的全局序号,查找堆栈中指定序号的视图控制器。



37. 当用户点击第四个按钮时,导航视图控制器中的所有子视图控制器,都将全部出栈,从而跳转到根视图控制器。接着点击运行模拟器预览项目。

38. 点击右上角的导航按钮,进入第二个页面。
39. 点击第一个按钮,往导航视图控制器堆栈中,添加一个新的视图控制器,并观察顶部标题文字的变化。
40. 继续点击按钮,往导航视图控制器堆栈中,添加多个新视图控制器。

41. 再次点击按钮,往导航视图控制器堆栈中,添加多个新视图控制器。

42. 点击按钮,往导航视图控制器堆栈中,添加多个新视图控制器。

43. 最后一次点击按钮,往导航视图控制器堆栈中,添加多个新视图控制器。

44. 点击第二个按钮,使当前视图控制器,从导航视图控制器堆栈中出栈,返回至前一个视图控制器,并观察顶部标题文字的变化。



47. 通过本节课的学习,您掌握了如何在导航视图控制器中,进行页面的自由跳转。最后点击[停止]按钮,关闭模拟器,并结束本节课程。


本文整理自:《互动教程 for Xcode9 & Swift4》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1063100471,或扫描本页底部的二维码。课程配套素材下载地址:资料下载