iOS UITabBar : Remove top shadow gradient line
I implemented a custom UITabBar and I still have this gradient/shadow on top of it. I added
[self.tabBar setBackgroundImage:[UIImage imageNamed:@"navBarBottom.png"]];
which is just changing the background but keeping the shadow gradient.
What am I doing wrong ? Is there anything to specify to get rid of it ?
What I have :
What I want :
Thank you.
Similary in answer for this question ... if You don't want to mess with any kind of 1x1 transparent image, this work's too:
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
In swift:
UITabBar.appearance().shadowImage = UIImage()
UITabBar.appearance().backgroundImage = UIImage()
Try setting a 1x1 pixel transparent shadow image for the UITabBar:
[[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"transparentShadow.png"]];
Swift
Try this for your custom tab bar. It will hide horizontal shadow line.
self.tabBar.setValue(true, forKey: "_hidesShadow")
Objective C
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];
Swift 4
UITabBar.appearance().layer.borderWidth = 0.0
UITabBar.appearance().clipsToBounds = true