UINavigationController 详解

// 导航控制器

// 1. 比较常用的视图控制器管理类

// 2. 以栈的形式管理视图控制器, 先进后出

// 3. 创建navigation后, 视图控制器上会多出一个导航栏

// 4. 导航栏高度 44 + 加 状态栏 20

对导航视图控制器的一些属性和方法的应用:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    // 设置navigationbar 的属性
    // 1. title 标题
    self.title = @"标题";  // 这里的title被冲掉了
    self.navigationItem.title = @"XXX";
    // 2. titleview 标题视图
    // 标题视图, 修改x, y对视图本身没有影响
    UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:@[@"晃晃", @"马峰"]];
    seg.frame = CGRectMake(0, 0, 250, 44);
    self.navigationItem.titleView = seg;
    // 3. leftBarButtonItem
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back:)];
    // 4. rightBarButtonItem
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(nibBundle)];
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(nibBundle)];
    // 5. leftBarButtonItems
    UIBarButtonItem *barButtonItemTitle = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(back:)];
    UIBarButtonItem *barButtonItemTitle1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(back:)];
    self.navigationItem.leftBarButtonItems = @[barButtonItemTitle, barButtonItemTitle1];
    // 6. leftBarButtonItems
    // leftBarButtonItems 数组中放一到两个为优
    // 7. 隐藏 下面两个等效
    self.navigationController.navigationBarHidden = NO;
    self.navigationController.navigationBar.hidden = NO;
    // 8. barStyle 背景样式, 默认default
    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
    // 9. navigationBar的背景颜色
    self.navigationController.navigationBar.backgroundColor = [UIColor redColor];
    // 10. barTintColor Bar的颜色
    self.navigationController.navigationBar.barTintColor = [UIColor redColor];
    // 11. Bar上元素的颜色
    self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
    // 12. translucent 管理半透明效果, YES为开启, NO为关闭
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.backgroundColor = [UIColor yellowColor];
    [button addTarget:self action:@selector(next) forControlEvents:UIControlEventTouchUpInside];
    button.frame = CGRectMake(0, 0, 200, 200);
    [self.view addSubview:button];
    // 设置为yes时, self.view坐标系从原点开始
    // 设置为no时, self.view坐标系从navigationBar开始
    // 默认为yes
    self.navigationController.navigationBar.translucent = YES;
    // 13. 改变坐标效果, 与translucent为NO效果一样
    //self.edgesForExtendedLayout = UIRectEdgeNone;
    // 页面跳转相关
    // 1. push 入栈 pushViewController
    // 2. pop 出栈 popViewControllerAnimated
    // 3. viewcontroller 存放navigationgController里所有的视图控制器
    // 4. topViewController 栈顶视图控制器
    // 5. visibleViewController 当前显示的视图控制器
}

运行效果图:

时间: 2024-11-05 13:44:20

UINavigationController 详解的相关文章

UINavigationController详解(一)

@UINavigationControlle简介: 1.导航控制器,专门管理控制器的控制器. 2.采用栈的方式管理所有controller,每个controller管理各自的视图 @UINavigationControlle结构: 1.它是UIViewController的子类,因此它也由view属性 2.它的view包含3个子视图:navigationBar     contentView(不是属性)      toolbar 3.导航控制器使用这些对象实现导航界面,我们负责提供这些对象,进行

UINavigationController详解

UINavigationController使用详解 有一阵子没有写随笔,感觉有点儿手生.一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家. 废话少说回到正题,UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的APP中(如qq,系统相册等)都有用到.说是使用详解,其实我只会介绍几个自认为比较重要或者容易放错的地方进行讲解

UINavigationController详解二(转)页面切换和SegmentedController

原文出自:http://blog.csdn.net/totogo2010/article/details/7682433,非常感谢. 1.RootView 跳到SecondView 首先我们需要新一个View.新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView 2.为Button 添加点击事件,实现跳转 在RootViewController.xib中和RootViewController.h文件建立连接 在RootViewController.m

UINavigationController详解三(转)ToolBar

原文出自:http://blog.csdn.net/totogo2010/article/details/7682641,特别感谢. 1.显示Toolbar  在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopy [self.navigationController  setToolbarHidden:NO animated:YES]; 2.在ToolBar上添加UIBarBut

iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

1.RootView 跳到SecondView 首先我们需要新一个View.新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView 2.为Button 添加点击事件,实现跳转 在RootViewController.xib中和RootViewController.h文件建立连接 在RootViewController.m中实现代码,alloc一个SecondViewController,用pushViewController到navigationCon

iOS学习之UINavigationController详解与使用(三)ToolBar

1.显示Toolbar  在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopyprint? [self.navigationController  setToolbarHidden:NO animated:YES]; [self.navigationController setToolbarHidden:NO animated:YES]; 2.在ToolBar上添加UIBarBu

[转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. 1.RootView 跳到SecondView 首先我们需要新一个View.新建SecondView,按住Command键然后按N,弹出新建页面,我们新建SecondView 2

[转]iOS学习之UINavigationController详解与使用(三)ToolBar

转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController 接上篇,我们接着讲Navigation 的Toolbar. 1.显示Toolbar  在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopy

[转]iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

转载地址:http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看它的如何使用: 下面的图显示了导航控制器的流程.最左侧是根视图,当用户点击其中的General项时 ,General视图会滑入屏幕:当用户继续点击Auto-Lock项时,Auto-Lock视图将滑入屏幕.相应地,在

iOS 的UINavigationController详解与使用添加UIBarButtonItem

转发自:http://blog.csdn.net/totogo2010/article/details/7681879 分类: iOS开发入门2012-06-21 11:10 53077人阅读 评论(29) 收藏 举报 uinavigationcontrolleriosapplicationactioninterfacebutton 1.UINavigationController导航控制器如何使用 UINavigationController可以翻译为导航控制器,在iOS里经常用到. 我们看看