您的位置:首页 > 产品设计 > UI/UE

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中添加如下代码:

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并不简单,本人也是在探索中,欢迎指正和探讨。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息