当前位置:   article > 正文

隐藏导航条底部的横线_flutter tabbar 底部有灰色线条

flutter tabbar 底部有灰色线条


默认情况下会有这条线
屏幕截图 2015年4月9日 at 下午9.34.31

第一种方法:

UINavigationBar *navigationBar =  self .navigationController.navigationBar;
// white.png图片自己下载个纯白色的色块,或者自己ps做一个
[navigationBar setBackgroundImage:[UIImage imageNamed: @"white.png" ]
                    forBarPosition:UIBarPositionAny
                        barMetrics:UIBarMetricsDefault];
[navigationBar setShadowImage:[UIImage  new ]];

运行后效果如下(此处原有的灰色背景色会被white.png代替):
wLU0J~lipTtq4M1i0000Ab
PS:这是唯一一个隐藏这条线的官方用法,但是有一个缺陷-删除了translucency(半透明)

第二种方法:
1)声明UIImageView变量,存储底部横线

@implementation  MyViewController {
     UIImageView *navBarHairlineImageView;
}
 

2)在viewDidLoad中加入:

navBarHairlineImageView = [self findHairlineImageViewUnder:navigationBar];

 

3)实现找出底部横线的函数

- (UIImageView *)findHairlineImageViewUnder:(UIView *)view {
     if  ([view isKindOfClass:UIImageView. class ] && view.bounds.size.height <= 1.0) {
             return  (UIImageView *)view;
     }
     for  (UIView *subview in view.subviews) {
         UIImageView *imageView = [ self  findHairlineImageViewUnder:subview];
         if  (imageView) {
             return  imageView;
         }
     }
     return  nil ;
}

4)最后在viewWillAppear,viewWillDisappear中处理

- ( void )viewWillAppear:( BOOL )animated {
     [ super  viewWillAppear:animated];
     navBarHairlineImageView.hidden =  YES ;
}
 
- ( void )viewWillDisappear:( BOOL )animated {
     [ super  viewWillDisappear:animated];
     navBarHairlineImageView.hidden =  NO ;
}
 

效果如下:
屏幕截图 2015年4月9日 at 下午9.44.48
PS:第二种方法可以保持bar的translucen

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/693004
推荐阅读
相关标签
  

闽ICP备14008679号