关于设置navigationBar高度的问题
来源:互联网 发布:瑞斯康微电子知乎 编辑:程序博客网 时间:2024/04/30 13:52
最近在做的项目有这个需求,需要中navigationBar上显示较多的内容,而系统中默认navigationBar的高度为44。
于是便在网上查找相关的内容,但很多都达不到预期及结果。
方法一:在《如何自定义NavigationBar的高度》这篇文章中谈到如下的方法:
-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; CGRect rect = self.navigationController.navigationBar.frame; self.navigationController.navigationBar.frame = CGRectMake(rect.origin.x,rect.origin.y,rect.size.width,84);
[self.navigationController.navigationBar setTitleVerticalPositionAdjustment:-40.0 forBarMetrics:UIBarMetricsDefault]; [self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:-40.0 forBarMetrics:UIBarMetricsDefault];}-(void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; CGRect rect = self.navigationController.navigationBar.frame; self.navigationController.navigationBar.frame = CGRectMake(rect.origin.x,rect.origin.y,rect.size.width,44);
[self.navigationController.navigationBar setTitleVerticalPositionAdjustment:0.0 forBarMetrics:UIBarMetricsDefault];}但尝试这么做了,结果导航栏无动于衷。
方法二:
UINavigationBar *bar = [self.navigationController navigationBar]; CGFloat navBarHeight = 35.0f; CGRect frame = CGRectMake(0.0f, 20.0f, 320.0f, navBarHeight); [bar setFrame:frame];其实这种方法跟方法一是一样的。
方法三:后来无意间想到,可以自定义导航栏,于是乎就这么做了:
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44 + 38)]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:customView.frame]; imageView.image = [UIImage imageNamed:@"caidanlan"]; [customView addSubview:imageView]; [self.navigationController.navigationBar addSubview:customView];于是,通过addSubview的方式达到预想的结果。
0 0
- 关于设置navigationBar高度的问题
- navigationbar 背景 高度问题
- 关于华为手机自定义view中NavigationBar显示与隐藏造成高度问题的解决办法
- 关于UIWebView设置高度自适应的问题
- 自定义navigationBar的高度
- 关于NavigationBar的View的一些设置
- 关于NavigationBar背景图片和颜色的设置
- 关于NavigationBar背景图片和颜色的设置
- 详解 iOS navigationBar 的设置问题 详解2 关于隐藏和透明问题
- navigationBar 设置关于setTranslucent
- navigationBar 关于设置setTranslucent
- navigationBar 设置关于setTranslucent
- navigationBar 设置关于setTranslucent
- navigationBar 设置关于setTranslucent
- 详解 iOS navigationBar 的设置问题
- 关于导航条navigationBar消失的问题
- 关于navigationBar影响view的frame问题
- iOS 修改navigationbar的高度
- c++基础i
- centos 6.5下搭建ipsec/xl2tpd VPN
- 一些记录
- jquery插件基本配置
- 怎样新建class类和新建带有ViewController的xib文件
- 关于设置navigationBar高度的问题
- linux进程的管理命令
- 基于jdk6 API 开发 WebService(一)
- iOS开发常用国外网站清单
- TQ210学习之路(1)——移植软件
- Eclipse 炫黑主题配色
- 用单体类型注册单体对象到qml中
- 分段表视图cell乱的问题(分段表示图cellForRowAtIndexPath的正确实现)
- Android-IntentService