iOS导航控制器常用函数与navigationBar常用属性

导航控制器常用函数触发时机

当视图控制器的View将要出现时触发

- (void)viewWillAppear:(BOOL)animated

当视图控制器的View已经出现时触发

- (void)viewDidAppear:(BOOL)animated

当视图控制器的View将要消失时触发

- (void)viewWillDisappear:(BOOL)animated

当视图控制器的View已经消失时触发

- (void)viewDidDisappear:(BOOL)animated

当由前一个界面,push下一个界面时,如A push B,四个方法执行顺序A(ViewWillDisappear)>B(viewWillAppear)>A(viewDidDisappear)>B(viewDidAppear)

当由后一个界面pop前一个界面时,如B pop A,四个方法执行顺序B(viewWillDisappear)>A(viewWillAppear)>B(viewDidDisappear)>A(viewDidAppear)

 

navigationBar常用属性

一. 对navigationBar直接配置,所以该操作对每一界面navigationBar上显示的内容都会有影响(效果是一样的

)

 

1.修改navigationBar颜色

 

 

self.navigationController.navigationBar.barTintColor = [UIColor redColor];

2.关闭navigationBar的毛玻璃效果   

self.navigationController.navigationBar.translucent = NO;   

3.将navigationBar隐藏掉

self.navigationController.navigationBarHidden = YES;4.给navigationBar设置图片   

 

不同尺寸的图片效果不同

:

 

1.320 * 44,只会给navigationBar

附上图片

 

2.高度小于44,以及大于44且小于64:会平铺navigationBar以及状态条上显示

 

 

3.高度等于64:整个图片在navigationBar

以及状态条上显示

 

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"32050"] forBarMetrics:UIBarMetricsDefault];

二.为每一个界面的navigationBar上显示的内容单独定制(每个界面显示内容不一样)单独定制,修改视图控制器的navigationItem  

 

1.设置界面的

title

 

self.navigationItem.title = @"远东大开发

”;

 

2.修改titleView(中间显示视图

)

 

UISegmentedControl*segment = [[UISegmentedControlalloc]initWithItems:@[@"分组",@"好友"]]; self.navigationItem.titleView= segment;

 

3.修改

navigationBar的颜色self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];

 

4.修改navigationBar,

右边显示内容

 

UIBarButtonItem *right = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add:)]; 

self.navigationItem.rightBarButtonItem = right;

 

 

5.

修改navigationBar,左侧显示内容

 

UIBarButtonItem*left = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAddtarget:selfaction:@selector

(add:)];

 

   self.navigationItem.leftBarButtonItem

= left;   

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。