IOS的UINavigationController使用
2015-08-13 10:26
393 查看
首先讲一下个人对UINavigationController的理解。
当app中有多个互相关联的页面(UIViewController,下文用VC代替),需要互相切换时,就要用到UINavigationController来切换这些页面,这些页面也叫垂直界面(drill-down interface)。
UINavigationController对象会以栈的形式来保存VC,位于栈顶的VC对象就是当前屏幕视图的VC。在初始化UINavigationController对象时,传入一个VC作为UINavigationController对象的根视图控制器,即位于栈底的VC
在AppDelegate的didFinishLaunchingWithOptions中添加如下代码:
此时将navController的根视图控制器指向firstVC,那么,在firstVC中,就可以调用navController的pushViewController来切换到另一个VC了,代码如下:
有压栈就有弹出的时候,那么,在secondVC里点击左上角的返回按钮时,系统就会将secondVC从navigationController栈中弹出。一般情况下我们不用自己去实现返回按钮,但如果要实现也是很简单,只要写如下代码即可:[self.navigationController popViewControllerAnimated:YES];
以上是关于UINavigationController的简单使用,但是UINavigationController并不简单,本人也是在探索中,欢迎指正和探讨。
当app中有多个互相关联的页面(UIViewController,下文用VC代替),需要互相切换时,就要用到UINavigationController来切换这些页面,这些页面也叫垂直界面(drill-down interface)。
UINavigationController对象会以栈的形式来保存VC,位于栈顶的VC对象就是当前屏幕视图的VC。在初始化UINavigationController对象时,传入一个VC作为UINavigationController对象的根视图控制器,即位于栈底的VC
在AppDelegate的didFinishLaunchingWithOptions中添加如下代码:
ViewController *firstVC = [[ViewController alloc] init]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:firstVC];
此时将navController的根视图控制器指向firstVC,那么,在firstVC中,就可以调用navController的pushViewController来切换到另一个VC了,代码如下:
-(void) buttonClicked {
//切换到secondVC SecondViewController *secondVC = [[SecondViewController alloc]init]; [self.navigationController pushViewController:secondVC animated:YES]; }
有压栈就有弹出的时候,那么,在secondVC里点击左上角的返回按钮时,系统就会将secondVC从navigationController栈中弹出。一般情况下我们不用自己去实现返回按钮,但如果要实现也是很简单,只要写如下代码即可:[self.navigationController popViewControllerAnimated:YES];
以上是关于UINavigationController的简单使用,但是UINavigationController并不简单,本人也是在探索中,欢迎指正和探讨。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- winform异型不规则界面设计的实现方法
- Android中设置只有程序第一次运行才显示的界面实现思路
- hta 实现的五子棋界面
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- android开发之欢迎界面的小例子
- C#中载入界面的常用方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android判断现在所处界面是否为home主桌面的方法
- android 引导界面的实现方法
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码