通过导航栏进入多个视图
2016-05-02 13:44
375 查看
OneViewController.m
#import "OneViewController.h" #import "TwoViewController.h" @interface OneViewController () @end @implementation OneViewController - (void)viewDidLoad { [super viewDidLoad]; NSInteger number =[self.navigationController.viewControllers count]; self.title = [NSString stringWithFormat:@"第%ld个视图", number]; } - (IBAction)buttonAction:(UIButton *)sender { TwoViewController *two = [[TwoViewController alloc] init]; [self.navigationController pushViewController:two animated:YES]; } @end
TwoViewController.m
#import "TwoViewController.h" #import "ThreeViewController.h" @interface TwoViewController () @end @implementation TwoViewController - (void)viewDidLoad { [super viewDidLoad]; NSInteger number =[self.navigationController.viewControllers count]; self.title = [NSString stringWithFormat:@"第%ld个视图", number]; } - (IBAction)buttonAction:(UIButton *)sender { UINavigationController *nc = self.navigationController; ThreeViewController *three = [[ThreeViewController alloc] init]; switch (sender.tag) { case 1: [nc pushViewController:three animated:YES]; break; case 2: [nc popToRootViewControllerAnimated:YES]; break; default: break; } } @end
ThreeViewController.m
#import "ThreeViewController.h" @interface ThreeViewController () @end @implementation ThreeViewController - (void)viewDidLoad { [super viewDidLoad]; NSInteger number =[self.navigationController.viewControllers count]; self.title = [NSString stringWithFormat:@"第%ld个视图", number]; } - (IBAction)buttonAction:(UIButton *)sender { UINavigationController *nc = self.navigationController; ThreeViewController *three = [[ThreeViewController alloc] init]; UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"请输入index" message:[NSString stringWithFormat:@"1-%@", self.title]delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; alertView.alertViewStyle = UIAlertViewStylePlainTextInput; switch (sender.tag) { case 1: [nc pushViewController:three animated:YES]; break; case 2: [nc popViewControllerAnimated:YES]; break; case 3: [nc popToRootViewControllerAnimated:YES]; break; case 4: [alertView show]; break; default: break; } } //警告栏消失自动调用 - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { NSString *str = [alertView textFieldAtIndex:0].text; NSInteger i = [str integerValue]; UINavigationController *nc = self.navigationController; [nc popToViewController:nc.viewControllers[i-1] animated:YES]; } @end
相关文章推荐
- SpringData 学习(4)—— 使用 @Query 注解实现查询
- [从头学数学] 第202节 矩阵与变换
- c/c++在windows下获取时间和计算时间差的几种方法总结
- Oracle自定义异常的使用
- 多项式相加
- Leetcode #344. Reverse String 逆转字符串 解题报告
- Codeforces Round #200 (Div. 1)D. Water Tree 【dfs序+线段树】
- java数组排序,二分查找
- 一种解决h5页面背景音乐不能自动播放的方案
- C语言有参函数调用时参数间数据传递问题
- am335x i2c分析
- Ubuntu 16.04如何安装Cinnamon 3.0
- 周末来一发之五一周赛
- java concurrent 之 SynchronousQueue
- Leetcode #345. Reverse Vowels of a String 逆转元音字母 解题报告
- Powershell集成OPENSSL客户端
- Linux PS命令详解
- Ubuntu下Zotero及Docear的安装、插件配置、联合使用
- 进程同步(三)—— 信号
- Linux驱动开发之 三 (那些必须要了解的硬件知识 之 存储器篇)