美文网首页ios实用开发技巧
标签栏 TabBar 上面横线去掉或者被遮盖的方法

标签栏 TabBar 上面横线去掉或者被遮盖的方法

作者: hncjliyingjie | 来源:发表于2016-10-28 10:13 被阅读675次

前几天做项目需要将 tabbar 的个数设置为5个,且中间那个比较大上.结果如图.tabbar 上面有一条灰色横线总是挡在中间大图的上方,而不是被大图盖着.

修改前

最后是经过群里的几位朋友指点,修改成功了.如图:

修改后

下面介绍具体做法:

1,在TabBarViewController.m中的, viewWillAppear的方法中添加两行代码,即可去掉灰色横线.

[self.tabBar setBackgroundImage:[UIImage new]];

[self.tabBar setShadowImage:[UIImage new]];

2,由于去掉黑线后, tabbar 是白色的背景,如果界面也是白色的话就看不出来边界.因此可以自己手动添加一条灰色的线.定义一个 继承自 UITabBar 的类CFTabBar

3,在 CFTabBar.m 的layoutSubviews方法中添加如下代码

UILabel *topLabel = [[UILabel alloc] init];

topLabel.frame = CGRectMake(0, 0, self.frame.size.width, 1);

topLabel.backgroundColor = HEX_RGB(0XEEEEEE);//此处是设置颜色,我用的是封装的一个16进制取色类.

[self addSubview:topLabel];

[self insertSubview:topLabel atIndex:1];//此处是关键,将横线放在 Tabbar 的倒数第二层上,这样就会被其他视图遮盖.

4,在TabBarViewController.m的 viewDidLoad: 中设置 tabbar

CFTabBar *testTabBar = [[CFTabBar alloc] init];

[self setValue:testTabBar forKey:@"tabBar"];

相关文章

网友评论

    本文标题:标签栏 TabBar 上面横线去掉或者被遮盖的方法

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