当前位置:首页 > 操作系统 > Ios

ioS UI-导航控制器(NavigationController)

              1
            #import
            "
            AppDelegate.h
            "
              2
            #import
            "
            ViewController.h
            "
              3
              4
            @interface
             AppDelegate ()

              5
              6
            @end
              7
              8
            @implementation
             AppDelegate

              9
             10
             11 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 12//1.窗口初始化 13     self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
 14 15//2.视图控制器 16     ViewController *vc = [[ViewController alloc] init];
 17//VC.view.backgroundColor = [UIColor cyanColor];
 18//[self.window makeKeyAndVisible];
 19 20 21//3.创建一个导航控制器对象,并将rootVC作为导航控制器的根视图控制器 22     UINavigationController *navCtr = [[UINavigationController alloc] initWithRootViewController:vc];
 23//简易更改外观 24     [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBg.png"] forBarMetrics:UIBarMetricsDefault];
 25 26//4.将导航控制器设置为根视图控制器 27     self.window.rootViewController =navCtr;
 28//5.关键步骤:让当前窗口作为keyWindow(唯一性)并且可见 29    [self.window makeKeyAndVisible];
 30 31return YES;
 32}
 33 34 35#import"ViewController.h" 36#import"FirstViewController.h" 37@interface ViewController ()
 38 39@end 40 41@implementation ViewController
 42 43/* 44 导航控制器->视图控制器->视图
 45 当根控制器设置为导航控制器时
 46 47 UINavigationController
 48 是用于构建分层应用程序的主要工具,主要采用栈形式来实现视图。任何类型的视图控制器都可放入栈中。在设计导航控制器时需要指定根视图即用户看到的第一个视图。根视图控制器是被导航控制器推入到栈中的第一个视图控制器。当用户查看下一个试图时,栈中将加入一个新的视图控制器,它所控制的视图将展示给用户。我们可以通过导航按钮来操作分层的应用程序,用它来控制视图的推入或推出
 49*/ 50 51 - (void)viewDidLoad {
 52    [super viewDidLoad];
 53     self.title = @"ViewController";
 54     self.view.backgroundColor = [UIColor purpleColor];
 55 56 57     UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(myAdd)];
 58     self.navigationItem.rightBarButtonItem = rightBtn;
 59 60 61     UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
 62     btn.frame = CGRectMake(90, 90, 200, 50);
 63     [btn setTitle:@"Go to the next" forState:UIControlStateNormal];
 64    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
 65     btn.backgroundColor = [UIColor whiteColor];
 66    [self.view addSubview:btn];
 67 68    [btn addTarget:self action:@selector(btnPushClick) forControlEvents:UIControlEventTouchUpInside];
 69 70 71}
 72 73#pragma mark - 自定义方法
 74 75#pragma mark -UIBarButtonItem的右耳目关联方法
 76 - (void)myAdd
 77{
 78     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Touch" message:@"添加某种功能"delegate:self cancelButtonTitle:@"Good Job" otherButtonTitles: nil];
 79    [alert show];
 80}
 81 82#pragma mark - 按钮关联方法-压栈
 83 - (void)btnPushClick
 84{
 85//看到的是栈顶视图,想看下一个必需把它压进来 86     FirstViewController *firstVC = [[FirstViewController alloc] init];
 87    [self.navigationController pushViewController:firstVC animated:YES];
 88}
 89 90 - (void)didReceiveMemoryWarning {
 91    [super didReceiveMemoryWarning];
 92// Dispose of any resources that can be recreated. 93}
 94 95@end 96 97 98 99#import"FirstViewController.h"101102@interface FirstViewController ()
103104@end105106@implementation FirstViewController
107108 - (void)viewDidLoad {
109    [super viewDidLoad];
110     self.title = @"FirstViewController";
111     self.view.backgroundColor = [UIColor lightGrayColor];
112113     UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
114     btn.frame = CGRectMake(90, 90, 200, 50);
115     [btn setTitle:@"Go to the next" forState:UIControlStateNormal];
116    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
117     btn.backgroundColor = [UIColor whiteColor];
118    [self.view addSubview:btn];
119120    [btn addTarget:self action:@selector(btnPushClick) forControlEvents:UIControlEventTouchUpInside];
121122123}
124#pragma mark - 自定义方法
125#pragma mark - 按钮关联方法
126 - (void)btnPushClick
127{
128     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Congrautulations" message:@"当前为最后一页"delegate:self cancelButtonTitle:@"取消" otherButtonTitles: nil];
129    [alert show];
130131}
132133134 - (void)didReceiveMemoryWarning {
135    [super didReceiveMemoryWarning];
136// Dispose of any resources that can be recreated.137}
138139140@end

 

原文:http://www.cnblogs.com/oc-bowen/p/5089895.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!