如何去除tabBar的上横线和navigationbar 背景色的下横线

去除tabBar的上横线和navigationBar的下横线_Sunshine丶九天_新浪博客
去除tabBar的上横线和navigationBar的下横线
不显示出navigationBar的那个线。
在介绍navigationBar的那个线之前,我想先说一下tabBar上方的拿刀线。
首先,我们可以打印一下tabBar上的控件们。&得到以下控件:​我们可以看到里面有一个UIImageView
高度为0.5.&也就是那个虚线。
​我们要把 下边的那个横线隐藏。
不说了直接上代码
接下来,我们继续说一下去除navigationBar的下横线:&那NavgationBar里面是不是也会有UIImageView呢&首先我们也打印一下
navigationBar&我们会发现,里面并没有所谓的UIImageView:
&但是如果你用xcode的那个层次结构图,你可以看到
箭头指向的就是那个UIImageView&所以,我们只需要修改UIImageView的属性,也就可以做到我们想要的了。&修改NavigationBar的横线有两种办法。&1.直接修改UIImageView:&优点:简单粗暴,省代码;&缺点:navigationBar的半透明效果没了。
(void)viewWillAppear:(BOOL)animated{&
viewWillAppear:animated];
&[self.navigationController.navigationBar
setBackgroundImage:[UIImage new]
forBarPosition:UIBarPositionAny
barMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage
= [UIImage
2.利用递归拿到子控件中的那个横线子控件,&利用ViewController的生命周期,在ViewDidLoad中拿到横线line,&在ViewWillAppear中隐藏。&优点:navigationBar的半透明效果存在&缺点:代码稍微复杂一点点。
​以上就是,去除tabBar的上横线和navigationBar的下横线的方法。&如果确实帮助到您,请给顶一下。&
Sunshine丶九天
博客等级:
博客积分:0
博客访问:162
关注人气:0
荣誉徽章:2421人阅读
iOS开发之旅(15)
iOS开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法。觉得不错,分享来给小伙伴们。
1)声明UIImageView变量,存储底部横线
@interface MyViewController {
UIImageView *navBarHairlineImageV
2)在viewDidLoad中加入:
navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];
3)实现找出底部横线的函数
- (UIImageView *)findHairlineImageViewUnder:(UIView *)view {
if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height &= 1.0) {
return (UIImageView *)
for (UIView *subview in view.subviews) {
UIImageView *imageView = [self findHairlineImageViewUnder:subview];
if (imageView) {
return imageV
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;
上面使用了一种个人比较喜欢的方法,
下面来一个最简单的:
UINavigationBar *navigationBar = self.navigationController.navigationBar;
[navigationBar setBackgroundImage:[UIImage imageNamed:@"bg.png"]
forBarPosition:UIBarPositionAny
barMetrics:UIBarMetricsDefault];
[navigationBar setShadowImage:[UIImage new]];
这是唯一一个隐藏这条线的官方用法,但是有一个缺陷-删除了translucency(半透明)
总体来说,第二种办法还是很好地,建议大家使用第二种办法。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:67592次
积分:1633
积分:1633
排名:第16097名
原创:94篇
转载:13篇
评论:28条
(1)(2)(3)(1)(6)(2)(2)(13)(3)(12)(4)(1)(10)(1)(1)(2)(2)(15)(7)(2)(1)(1)(4)(8)(4)今天看啥 热点:
ios去掉navigationController和tabBarController里的边框黑线
ios去掉navigationController和tabBarController里的边框黑线
- (void)viewWillAppear:(BOOL)animated {
[self.navigationController.navigationBar setBackgroundImage:[TDUtils createImageWithColor:[UIColor clearColor]] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
[self.navigationController.navigationBar setShadowImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
[self.tabBarController.tabBar setBackgroundImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
[self.tabBarController.tabBar setShadowImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
相关搜索:
相关阅读:
相关频道:
IOS教程最近更新您的举报已经提交成功,我们将尽快处理,谢谢!
去除页眉的横线
在页眉插入信息的时候经常会在下面出现一条横线,如果不想在页眉留下任何信息也无法自动去除此横线。这时可以采用下述的方法去掉:
确认插入点位于页...
三招去掉页眉线
(1)在页眉中,在“格式”-“边框和底纹”中设置表格和边框为“无”,应用于“段落”。
(2)同上,只是把边框的颜色设置为白色(其实并...
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'ios去掉navigationController和tabBarController里的边框黑线
ios去掉navigationController和tabBarController里的边框黑线
- (void)viewWillAppear:(BOOL)animated {
[self.navigationController.navigationBar setBackgroundImage:[TDUtils createImageWithColor:[UIColor clearColor]] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBackIndicatorTransitionMaskImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
[self.navigationController.navigationBar setShadowImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
[self.tabBarController.tabBar setBackgroundImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
[self.tabBarController.tabBar setShadowImage:[TDUtils createImageWithColor:[UIColor clearColor]]];
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'}

我要回帖

更多关于 ios navigationbar 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信