上一篇主要讲到了导航栏的基本创建和navigation bar的常有属性,这篇的话就主要讲解一下navigation controller 栈和其他的一些小技巧。
topViewController
显示当前在navigation controller栈顶的view controller
[self.navigationController topViewController]
visibleViewController显示当前显示的view controller
[self.navigationController visibleViewController]
获取navigation controller当前栈中的所有的view controllers
[self.navigationController viewControllers]
变换navigation controller的栈结构,加载新的view controllers
[self.navigationController setViewControllers:vcArray]
跳转到指定的view controller
[self.navigationController popToViewController:vc animated:YES]
跳转到root view controller
[self.navigationController popToRootViewControllerAnimated:YES]
小技巧归总
当前页面如果需要弹出keyboard,那么可以在弹出时就隐藏掉导航栏
[self.navigationController setHidesBarsWhenKeyboardAppears:YES];
单击有navigation bar的页面,就会重复隐藏或显示navigation bar
[self.navigationController setHidesBarsOnTap:YES];
上下拉动又navigation bar的页面,就会重复隐藏或显示navigation bar
[self.navigationController setHidesBarsOnSwipe:YES];
隐藏或者显示navigation bar
[self.navigationController setNavigationBarHidden:YES];
本文深入探讨了iOS中navigationcontroller的使用技巧,包括如何管理viewcontroller栈,掌握topViewController和visibleViewController的区别,以及如何利用setViewControllers进行栈结构变换。此外,还介绍了如何在键盘弹出时隐藏导航栏,实现导航栏的自动隐藏与显示等功能。
3478

被折叠的 条评论
为什么被折叠?



