用系统tabbar的时候,如果整个tabbar是规则的长方形,不容易看出上部是有线条的,但不规则的话,会有一条黑色的线横亘在那里,非常影响界面美观,就像这样:
打开到工程里看,是这条线:
位于Tabbar,和按钮并列,是个imageview:
想要改变它,必须要知道具体是什么名字,跳转到库的tabbar文件去看,如下:
有三个内置的image:背景图片、选中时图片、阴影图片,
然后修改这三个image
- //去掉tabBar顶部线条
- CGRect rect = CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT);
- UIGraphicsBeginImageContext(rect.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);
- CGContextFillRect(context, rect);
- UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- [TBC.tabBar setBackgroundImage:img];
- [TBC.tabBar setShadowImage:img];
成功!结果如下:
原理:其实并没有删除横线(remove掉),只是把它变成透明的不影响操作和界面美观而已(视觉错)。