iOS 隐藏导航栏的分割线


@interface ViewController{

UIImageView*navBarHairlineImageView;

}


2)在viewDidLoad中加入:


navBarHairlineImageView = [selffindHairlineImageViewUnder:self.navigationController.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 = [selffindHairlineImageViewUnder:subview];

if(imageView) {

return imageView;        

}    

}return nil;

}



4)最后在viewWillAppear,viewWillDisappear中处理

- (void)viewWillAppear:(BOOL)animated {    

[superviewWillAppear:animated];    

navBarHairlineImageView.hidden=YES;

}

- (void)viewWillDisappear:(BOOL)animated {    

[superviewWillDisappear:animated];  

  navBarHairlineImageView.hidden=NO;

}


===========================================================================

下面来一个最简单的:

UINavigationBar*navigationBar =self.navigationController.navigationBar;

// bg.png为自己ps出来的想要的背景颜色。

[navigationBar setBackgroundImage:[UIImageimageNamed:@"bg.png"] forBarPosition:UIBarPositionAny                      barMetrics:UIBarMetricsDefault];

[navigationBar setShadowImage:[UIImagenew]];

这是唯一一个隐藏这条线的官方用法,但是有一个缺陷-删除了translucency(半透明)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容