如何自定义NavigationBar的高度
来源:互联网 发布:java软件安装教程 编辑:程序博客网 时间:2024/06/06 07:33
在Xcode中状态栏占20个点,navigationBar占44个点,有时候隐藏掉状态栏后能会出现这样的情况
图片的大小已经超出了navigationBar的高度了,非常难看,默认情况下navigationBar的高度是锁死的,但是我们还是可以通过代码来改变它的高度,这在实际开发中非常的实用.
首先说明几个个方法:
<span style="font-size:18px;"><span style="font-size:24px;">- (void)setBackgroundVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics NS_AVAILABLE_IOS(5_0) UI_APPEARANCE_SELECTOR; </span></span>
官方描述:Sets the background vertical position offset for given bar metrics.
The background vertical position offset for barMetrics.设定背景垂直位置对于给定的barMetrics的偏移量.
但是这个方法比较特殊,需要在viewWillAppear中使用才有效果:
<span style="font-size:18px;">//视图将要出现-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:-7.0 forBarMetrics:UIBarMetricsDefault]; [self.navigationItem.rightBarButtonItems[1] setBackgroundVerticalPositionAdjustment:-7.0 forBarMetrics:UIBarMetricsDefault]; [self.navigationItem.rightBarButtonItems[0] setBackgroundVerticalPositionAdjustment:-7.0 forBarMetrics:UIBarMetricsDefault]; }</span>
这时结果变成了这样:
图片已经上移了7个点,下面的白边已经看不见了,接下来就要提高navigationBar的高度了.
提高navigationBar的高度要用下面的方法:
<span style="font-size:18px;">//视图已经出现- (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; //修改NavigaionBar的高度 self.navigationController.navigationBar.frame = CGRectMake(0, 0, self.navigationController.navigationBar.bounds.size.width, 64); }</span>
改变navigationBar的这个方法只有在viewDidAppear中有使用才有效果,因为视图在这时才真正出现,结果就成这样了
这时navigationBar的高度就设置完毕了,但是还是有问题,就切换界面的时候,navigationBar的界面会往下闪一下,如果有大神可以解决请告诉我!
1 0
- 如何自定义NavigationBar的高度
- 如何自定义NavigationBar的高度
- 如何自定义NavigationBar的高度
- 如何自定义NavigationBar的高度
- 如何自定义NavigationBar的高度
- 自定义navigationBar的高度
- iOS 修改navigationbar的高度
- 怎么获取navigationbar 的高度
- 自定义NavigationBar的思路
- 如何Android中自定义Navigationbar
- 如何Android中自定义Navigationbar
- 如何Android中自定义Navigationbar
- 如何在navigationBar的中间添加一张自定义图片?
- 关于华为手机自定义view中NavigationBar显示与隐藏造成高度问题的解决办法
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- 关于设置navigationBar高度的问题
- UML第十二集(14)之活动图
- 第10周-Person类
- 动态规划(2)
- href中jstl的输入
- Python入门——字典的浅拷贝与深拷贝
- 如何自定义NavigationBar的高度
- 文艺篇----短篇集(时间的记忆砸下来)
- 88Merge Sorted Array
- 使用 ajax 方式提交表单,并获取后台处理结果
- C++primer第五版第二章学习笔记
- 第10周-Account类
- Java学习笔记(一)
- 2015年IT互联网行业薪酬待遇
- 浅谈分支预测、流水线与条件转移