1 前言
在IOS中導航欄所管理的視圖控制器放入一個堆棧數組中,代碼中可以來管理這個堆棧,今天我們就來學習一下。
2 調整方法
本例子基於IOS開發(7)的導航Demo來修改,多余的代碼就不貼了,只加入做修改的部分。
ZYSecondViewController.m文件:
[plain]
-(void)goBack{
NSArray *currentControllers = self.navigationController.viewControllers;//獲得視圖控制器堆棧數組
NSMutableArray *newControllers = [NSMutableArray arrayWithArray:currentControllers];//基於堆棧數組實例化新的數組
[newControllers removeLastObject];//移除堆棧頂端數組
// self.navigationController.viewControllers = newControllers;//為堆棧重新賦值
[self.navigationController setViewControllers:newControllers animated:YES];//為堆棧重新賦值
}
-(void)goBack{
NSArray *currentControllers = self.navigationController.viewControllers;//獲得視圖控制器堆棧數組
NSMutableArray *newControllers = [NSMutableArray arrayWithArray:currentControllers];//基於堆棧數組實例化新的數組
[newControllers removeLastObject];//移除堆棧頂端數組
// self.navigationController.viewControllers = newControllers;//為堆棧重新賦值
[self.navigationController setViewControllers:newControllers animated:YES];//為堆棧重新賦值
}
運行結果跟IOS開發(7)的效果一樣,在此就不多加截圖了。