Open jeakey opened 9 years ago
导航控制器是以栈的形式来实现,一个视图控制器以入栈(push)的方式加入导航控制器,以出栈(pop)的方式移除,所以出栈以后,相应的视图控制器也将销毁。
导航控制器包括导航栏(NavigationBar)和底部工具栏(UIToolBar)两部分组成。
// 导航控制器初始化 RootViewController *rootVC = [[RootViewController alloc] init]; UINavigationController *navigation=[[UINavigationController alloc]initWithRootViewController:rootVC]; self.window.rootViewController = navigation; // 子控制器设置title self.title=@"title";//控制器本身实现 [pageVC setTitle:@"title"];//外部改变 // 控制器之间导航 [self.navigationController pushViewController:pageVC animated:YES]; [self.navigationController popToRootViewControllerAnimated:YES]; [self.navigationController popViewControllerAnimated:YES]; [self.navigationController popToViewController:pageVC animated:YES]; // 显示隐藏导航栏和工具栏 [self.navigationController setNavigationBarHidden:YES animated:YES]; [self.navigationController setToolbarHidden:YES animated:YES];
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated; - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
参照下面的例子,首页上放置一个按钮,点击切换到另一个view1(4分),在view1上放置两个按钮,点击第一个按钮返回到根页面,点击第二个按钮切换到子页面(8分),在子页面放置两个按钮,点击第一个按钮返回到根页面,点击第二个按钮返回到上一级页面(12分),自定义首页导航栏右上角按钮,点击在页面内增加一个按钮,并依次命名为view2、view3...依次类推,点击这些按钮,切换到跟view1同样的页面,只是title改为按钮相应的文字(16分)。 具体请参考: https://modao.io/app/2meosEpFMDGNM5yBpB0R
bindy:16分 erickchen:16分 hahnzhu:16分 faycheng:12分
导航控制器基本概念
导航控制器是以栈的形式来实现,一个视图控制器以入栈(push)的方式加入导航控制器,以出栈(pop)的方式移除,所以出栈以后,相应的视图控制器也将销毁。
导航控制器包括导航栏(NavigationBar)和底部工具栏(UIToolBar)两部分组成。
实现导航控制器
导航控制器层次关系
UINavigationBar
导航控制器的委托方法
本章作业
参照下面的例子,首页上放置一个按钮,点击切换到另一个view1(4分),在view1上放置两个按钮,点击第一个按钮返回到根页面,点击第二个按钮切换到子页面(8分),在子页面放置两个按钮,点击第一个按钮返回到根页面,点击第二个按钮返回到上一级页面(12分),自定义首页导航栏右上角按钮,点击在页面内增加一个按钮,并依次命名为view2、view3...依次类推,点击这些按钮,切换到跟view1同样的页面,只是title改为按钮相应的文字(16分)。 具体请参考: https://modao.io/app/2meosEpFMDGNM5yBpB0R