UINavigationController
学习UINavigationController最重要的,我认为是先搞清楚:什么是UINavigationController ?
这张图很好的表现了UINavigationController概貌。
1.navigation Item: 也就是Navigation bar
2.Navigation bar :最上面的那一块。它又包括了: UIBarButtonItem,也就是那些小的按键。
3.custom content : 可以是view 图片什么的。
4.Navigation toolbar :
导航控制器是作为栈来实现的,它控制了一个视图控制器栈,遵循先进后出原则。在设计导航控制器的时候,你需要指定应用程序运行的第一个视图,在程序的整个视图层次中,这个视图位于最底层,被称作根控制器。
参考资料 :http://wangliang.me/?p=364
里面讲的非常详细和到位 我下面的是自己看的。。你们可以直接看这个参考资料。
1.委托。
UINavigationController 创建于delegate之中,在.m文件中需要完成 1)所委托的view的对象创建 2)UINavigationController 的对象创建 3)设置window的根视图为UINavigationController对象 4)载入view
参考代码:
2.创建按钮,也就是UIBarButtonItem
创建按钮的最佳地方是在控制器的 - (void) viewDidLoad方法中
1)
//创建一个UIBarButtonItem
UIBarButtonItem *item = [UIBarButtonItem alloc] initWithTitle: @"Go" style : UIBarButtonItemSytledDone target: self action: @selector(mathod:) ];
//加载到navigationItem上,选择加载成哪一种的item
self.navigationItem.leftBarButtonItem = item ;
2)ios中有多种已设置好的按钮形式,如 加号摸样的 :
UIBarButtonItem *item2 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem : UIBarButtonSystemItemAdd target : selfaction:nil];
3)快速创建edit 和done类型的按钮
self.navigationItem.rightBarButtonItem = self.editButtonItem;
4)设置返回键
有时候如果标题太长,返回键也会非常长,所以我们可以设置返回键,限制它的长度
//设置返回键的值
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"欢迎" style : UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;