上一篇主要讲到了导航栏的基本创建和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];