ios导航条透明度问题

作者: Tang_shuya | 来源:发表于2016-07-21 15:49 被阅读343次

    # 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导航条透明度问题

    本文链接:https://www.haomeiwen.com/subject/appbjttx.html