# import "HomeViewController"
// 接手别人写的项目踩到了一个坑.
// 有关导航条透明度的问题
// 此项目的主控制器是通过storyboard创建的,做新功能开发时,我通过xib创建了一个控制器(TwoViewController),并通过navigationcontroller进行push操作.
坑爹的是,写在TwoViewController中的控件不见了(button控件),距离顶部为0,左边为50. 机智的我赶紧将顶部约束改为64,控件出来了,紧挨着导航条.
// 自己写了个demo去验证这个问题,得出如下结论:
// 验证一.
/* 通过xib创建子控制器OneViewController,在HomeViewController中用导航控制器进行push操作, OneViewController中的一个控件距离顶部64的距离才能显示出来,不被导航条遮住.
如果距离顶部0的距离,也想显示出来,解决方法,设置导航条的透明度为no
*/
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.translucent = NO;
OneViewController *oneVC = [[OneViewController alloc] init];
[self.navigationController pushViewController:oneVC animated:YES];
}
// 验证二.
/* 通过storyboard创建子控制器TwoViewController,导航控制器进行push操作, 一个控件距离顶部为0的距离能够显示出来,不被导航条遮住.
设置不设置导航条透明度没有影响.
*/
// 不用考虑导航条透明度的问题.没有深入研究原因.
UIStoryboard *twoStoryboard = [UIStoryboard storyboardWithName:@"TSYTwoViewController" bundle:nil];
TSYTwoViewController *twoVC = [twoStoryboard instantiateViewControllerWithIdentifier:@"twoVC"];
[self.navigationController pushViewController:twoVC animated:YES];
ios导航条透明度问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1.这里多出的区域,与tableView的headView无关! 2.解决办法 第一种:设置 代码 self.na...
- 上一篇说到自定义导航栏,若自定义的导航栏中设置了属性translucent = NO(作用是去掉颜色渲染,若为YE...
- IOS实现随着页面滑动改变导航条透明度的方法 1.实现代理UIScrollViewDelegate 2. #pra...
- 问题: iOS系统由10.x.x版本升级11.0.3后,无意间跑一些老代码时发现有些界面的适配出现了错位。再三勘察...