UINavigation

UINavigation的相关操作:

①创建导航

FirstViewController *fvc = [[FirstViewController alloc] init];
    //创建一个页面  
    UINavigationController *nc = [[UINavigationController alloc]initWithRootViewController:fvc];
    //将这个页面作为导航控制器的根页面 
    self.window.rootViewController = nc;

②导航的各种

//导航条是属于导航的,针对导航条的设置,会影响整个导航 
    //self.navigationController.navigationBarHidden = YES;
    //隐藏导航条
     self.navigationController.navigationBar.barTintColor = [UIColor grayColor];
    //导航条的背影色   
//    self.navigationController.navigationBar.translucent = YES;
    //半透明状态,会影响坐标点{0,0}的位置
    //如果是YES,0,0 在屏幕的左上角
    //如果是NO,0,0在导航条的左下角  
    self.navigationController.navigationBar.tintColor = [UIColor redColor];
    //导航条上展示内容的渲染色。(比如说系统自带的返回按钮的颜色)
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"aaa"] forBarMetrics:UIBarMetricsDefault];
    //设置背景图,如果图片的大小正好是320*44(640*88),那么就会显示成iOS7以前的风格(状态条和导航条分开了) 
    //导航条的高度是64(44+20)

③设置导航上的文字和按钮。。。。

 1 /*
 2      *  专用按钮(barButtonItem)的4种创建方法
 3      *  1,用文字
 4      *  2,用系统样式
 5      *  3,用图片
 6      *  4,用自定义视图
 7      */
 8
 9
10 //self.navigationItem的设置是针对当前页面的
11
12     self.navigationItem.hidesBackButton = YES;
13     //隐藏当前页面的返回按钮
14
15     self.navigationItem.title = @"桔色";
16     //设置title,下一页的返回按钮上的文字会显示当前页的title
17
18     UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 40, 30)];
19     titleLabel.backgroundColor = [UIColor yellowColor];
20     titleLabel.text = @"aaa";
21     titleLabel.textAlignment = NSTextAlignmentCenter;
22     titleLabel.font = [UIFont systemFontOfSize:18];
23     self.navigationItem.titleView = titleLabel;
24     //设置一个view显示在当前页面的导航条的中间
25     [titleLabel release];
26
27     UIBarButtonItem *abbi = [[UIBarButtonItem alloc] initWithTitle:@"ab" style:UIBarButtonItemStyleBordered target:self action:@selector(bbiClick)];
28     //使用文字创建一个专用按钮
29     self.navigationItem.leftBarButtonItem = abbi;
30     [abbi release];
31
32     UIBarButtonItem *bbbi = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(bbiClick)];
33     //使用系统风格创建专用按钮
34 //    self.navigationItem.rightBarButtonItem = bbbi;
35 //    [bbbi release];
36
37     UIBarButtonItem *cbbi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gerenzhuye"] style:UIBarButtonItemStyleBordered target:self action:@selector(bbiClick)];
38     //使用图片创建专用按钮,图片大小一般用30*30(60*60)
39     //只取图片的形状,不取颜色。颜色会使用导航条的渲染色
40 //    self.navigationItem.rightBarButtonItem = cbbi;
41 //    [cbbi release];
42
43     UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 30)];
44     btn.backgroundColor = [UIColor grayColor];
45     [btn setTitle:@"btn" forState:UIControlStateNormal];
46     [btn addTarget:self action:@selector(bbiClick) forControlEvents:UIControlEventTouchUpInside];
47
48     UIBarButtonItem *dbbi = [[UIBarButtonItem alloc] initWithCustomView:btn];
49     //使用自定义的view创建一个专用按钮
50     [btn release];
51
52 //    self.navigationItem.rightBarButtonItem = dbbi;
53 //    [dbbi release];
54
55     self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:bbbi, cbbi, dbbi, nil];
56     //设置一组专用按钮

④回到之前的页面

[self.navigationController popViewControllerAnimated:YES];//回到上一页

[self.navigationController popToRootViewControllerAnimated:YES];//回到根页面

[self.navigationController popToViewController:某个页面 Animated:YES];

ToolBar

①self.navigationController.toolbarHidden = NO;//让底部的UIToolbar(工具条)显示出来,针对整个导航控制器的,高度是44

②self.navigationController.toolbar.barTintColor = [UIColor brownColor];//背景色

③self.navigationController.toolbar.tintColor = [UIColor redColor];//渲染色

④self.navigationController.toolbar setBackgroundImage:[UIImage imageNamed:@""] forToolbarPoisition:UIBarPositonBottom barMetrics:UIBarMetricsDefault];//背景图片

⑤UIBarButtonItem *ddi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];//特殊的专用按钮,存在的意义就是为了占位,使两个按钮之间不至于紧挨着

⑥self.toolbarItems = [NSArray arrayWithObjects:,,,];

圆角的设置

btn.layer.masksToBounds = YES;

btn.layer.cornerRadius = 50;//圆角的弧度

btn.layer.borderColor = [[UIColor magentaColor] CGColor];//边框颜色

btn.layer.borderWidth = 2;//边框的大小

时间: 2024-10-12 09:38:26

UINavigation的相关文章

iOS关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递页面推送

关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递 集合嵌套集合的操作 声明 两个必须的的代理 实现部分代码 - (void)viewDidLoad { [super viewDidLoad]; // 创建一个TabView self.tabv = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped]; sel

iOS开发UINavigation系列二——UINavigationItem

iOS开发UINavigation系列二--UINavigationItem 一.引言 UINavigationItem是导航栏上用于管理导航项的类,在上一篇博客中,我们知道导航栏是通过push与pop的堆栈操作来对item进行管理的,同样,每一个Item自身也有许多属性可供我们进行自定制.这篇博客,主要讨论UINavigationItem的使用方法. UINavigationBar:http://my.oschina.net/u/2340880/blog/527706. 二.来说说UINavi

iOS开发UINavigation系列三——工具栏UIToolBar

iOS开发UINavigation系列三--工具栏UIToolBar iOS中除了UINavinationBar之外,还有工具栏UIToolBar可以供我们使用,工具栏和导航栏十分类似,只是功能更加简单,工具栏中也有UIBarButtonItem按钮,在前两篇博客中,对导航栏和导航项都进行的讨论,地址如下: UINavigationBar:http://my.oschina.net/u/2340880/blog/527706 UINavigationItem:http://my.oschina.

iOS开发UINavigation系列一——导航栏UINavigtionBar

iOS开发UINavigation系列一--导航栏UINavigtionBar 一.导航栏的使用 在iOS开发中,我们通常会使用导航控制器,导航控制器中封装了一个UINavigationBar,实际上,我们也可以在不使用导航控制器的前提下,单独使用导航栏,在UINavigationBar中,也有许多我们可以定制的属性,用起来十分方便. 二.UINavigationBar的创建和风格类型 导航栏继承于UIView,所以我们可以像创建普通视图那样创建导航栏,比如我们创建一个高度为80的导航栏,将其放

uiscrollView UINavigation和uitabbar添加约束的问题

首先是层次问题, 我的storyboard中 底层是一个View(viewcontroller自带)上面添加了一个UIScrollview(添加约束, 上下左右全为0), 在UIScrollview上添加一个UITableView(添加约束: 上下左右全为0, 宽高分别为当前值, 做拖出宽高的约束, 添加到代码中, 设置可以改变他们的值) ①. 只有UIScrollview的情况, 这时只要把上面约束的宽高分别设下, 分别是[UIScreen mainScreen].bounds.size.wi

iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四--导航控制器UINavigationController 一.引言 在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便.前几篇博客地址如下: UINavigationBar:http://my.oschina

在UINavigation上添加UISearchBar

在UINavigation上添加UISearchBar的方法 代码如下: 1 // 创建UIView 2 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0, 250, 54)]; 3 [self.view addSubview:view]; 4 // 创建搜索栏 5 UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 10, 250

UINavigation Bar中使用UIcollectionView,在UIcollectionView的顶端和低端出现空白的问题

在含有UINavigation Bar的视图中,使用UIcollectionView,会在UIcollectionView的顶端和低端出现空白,需要添加下面 一句代码,空白即可消失 //如果不加这行代码self.collectionView的顶部和底部会有空白 self.automaticallyAdjustsScrollViewInsets = NO;

UINavigation的外观设置和页面之间的跳转

创建导航: 1.创建一个视图控制器的类a 2.在app中引用 3.在app.m中创建a对象 4.创建一个导航视图,并且把a对象作为导航视图的根视图 5.设置window的根视图为导航视图控制器,代码: 6.到a.m文件中给导航设置属性,如:(给导航设置属性大部分都是.navigationItem) 用导航的两个视图之间的跳转: 1.再创建一个视图控制器,在第一个视图控制器还有第二个视图控制器上面都添加一个按钮,来用于页面之间的跳转 2.第一个页面到第二个页面之间的跳转button的方法,代码:(