用系统tabbar的时候,如果整个tabbar是规则的长方形,不容易看出上部是有线条的,但不规则的话,会有一条黑色的线横亘在那里,非常影响界面美观,就像这样:
//去掉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();
[self.tabBar setBackgroundImage:img];
[self.tabBar setShadowImage:img];
成功!结果如下:
原理:其实并没有删除横线(remove掉),只是把它变成透明的不影响操作和界面美观而已(视觉错)。