iOS UITabBar:删除顶部阴影渐变线
我实现了一个自定义UITabBar,我仍然有这个梯度/阴影的顶部。 我补充说
[self.tabBar setBackgroundImage:[UIImage imageNamed:@"navBarBottom.png"]];
这只是改变背景,但保持阴影渐变。
我究竟做错了什么 ? 有什么要指定摆脱它?
我拥有的 :
我想要的是 :
谢谢。
尝试为UITabBar设置1×1像素的透明阴影图像:
[[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"transparentShadow.png"]];
相似的回答这个问题 …如果你不想弄乱任何forms的1×1透明图像,这个工作也是:
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
在迅速:
UITabBar.appearance().shadowImage = UIImage() UITabBar.appearance().backgroundImage = UIImage()
迅速
试试这个你的自定义标签栏。 它会隐藏水平阴影线。
self.tabBar.setValue(true, forKey: "_hidesShadow")
目标C
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];
调用[[UITabBar appearance] setShadowImage:]
将自定义您的应用程序中的所有UITabBar
实例。
如果你想自定义一个UITTabBar
,你可以这样做:
[self.tabBarController.navigationController.navigationBar setShadowImage:[UIImage new]];
这是另一个容易实现的答案:
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];
为我工作
把它放在你的AppDelegate的 didFinishLaunchingWithOptions下:
[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
在你的视图控制器或视图控制器或BasicViewController,大多数视图控制器inheritanceviewDidLoad只是把这两行:
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tab_bar_background"]]; [[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"transparent_shadow"]];
请确保transparent_shadow@2x.png是图片1×1或2×2透明,而tab_bar_background@2x.png是图片640×100,底部栏高度是50px。
适用于iOS 9.3
试试这个viewDidload。
override func viewDidLoad() { super.viewDidLoad() self.tabBar.setValue(true, forKey: "_hidesShadow") }
它为我工作
试试这个,** Objective-C **
//Remove shadow image by assigning nil value. [[UITabBar appearance] setShadowImage: nil]; // or // Assing UIImage instance without image reference [[UITabBar appearance] setShadowImage: [[UIImage alloc] init]];
** Swift **
//Remove shadow image by assigning nil value. UITabBar.appearance().shadowImage = nil // or // Assing UIImage instance without image reference UITabBar.appearance().shadowImage = UIImage()
这里是shadowImage的苹果指南。
@available(iOS 6.0, *) open var shadowImage: UIImage?
默认是零。 非零时,自定义阴影图像显示,而不是默认阴影图像。 要显示自定义阴影,还必须使用-setBackgroundImage设置自定义背景图像(如果使用默认背景图像,将使用默认阴影图像)。
在iOS 7中 – 这个工作:
[self.actionToolbar setShadowImage:[[UIImage alloc] init] forToolbarPosition:UIBarPositionAny]; [self.actionToolbar setBackgroundImage:[[UIImage alloc] init] forToolbarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
希望能帮助别人。