码迷,mamicode.com
首页 > 其他好文 > 详细

UI: 使用 UINavigationController 实现导航

时间:2014-10-11 13:12:45      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   使用   ar   for   strong   sp   

  导航控制器,它允许你 push 视图控制器到一个栈中,并可以将视图控制器从栈中 pop 出来,在栈顶的视图控制器是 top 视图控制器,用户可以看到这个视图控制器。也只有 top 视图控制器能被用户看到,可以通过将其 pop 出,或者 push 另外一个视图控制器到栈中进行改变。 

   

使用导航控制器的 initWithRootViewController:的方法对其初始化,把根视 图控制器当做它的参数。然后将导航控制器的 view 添加到 windows: 

 .h:

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (nonatomic, strong) UINavigationController *navigationController;

@end

.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    ViewController *mainVC = [[ViewController alloc]init];
    //self.window.rootViewController = mainVC;
    
    self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
    [self.window makeKeyAndVisible];
    self.navigationController = [[UINavigationController alloc]initWithRootViewController:mainVC];
    [self.window addSubview:self.navigationController.view];
    return YES;
}
创建第二个视图控制器 SecondViewController 

 我计划在第一个视图控制器出现在屏幕上 5 秒后把第二个视图控制器 push 到它的顶部 :

在第一个视图中:

//推出第二个视图
- (void) pushSecondViewController{
    SecondViewController *secondController = [[SecondViewController alloc]init];
    [self.navigationController pushViewController:secondController animated:YES];
}

- (void) viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    //5s后调用pushSecondViewController方法
    [self performSelector:@selector(pushSecondViewController) withObject:nil afterDelay:5.0f];
}
从导航控制器堆栈 pop 或者移出一个视 图控制器要如何处理呢?答案很简单:使用导航控制器中 popViewControllerAnimated:的方 法,在第二个视图控制器显示在屏幕上 5 秒钟后我们把它自动的 pop 出栈: 

 

- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    
    [self performSelector:@selector(goBack) withObject:nil afterDelay:5.0f];
}

- (void)goBack{
    [self.navigationController popViewControllerAnimated:YES];
}

 

 

UI: 使用 UINavigationController 实现导航

标签:style   blog   color   io   使用   ar   for   strong   sp   

原文地址:http://www.cnblogs.com/safiri/p/4018549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!