删除UITabbar上边界线

我一直在应用程序中使用UITabbar。 UITabbar顶部有一个上边界线。 请参阅下图:

我谷歌search,并尝试build议的代码,如:

[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; 

 [[UITabBar appearance] setShadowImage:nil]; self.navigationController.toolbar.clipsToBounds = YES; 

但他们都没有工作。 任何解决scheme

在这里输入图像说明

 [self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"]; 

或者你可以使用

 [[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"transparentShadow.png"]]; 

要么

  [[UITabBar appearance] setShadowImage:nil]; 

tabBar.clipsToBounds = YES; 是为我工作。

您只需添加以下两行代码即可从UITabbar中删除边框:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; // Override point for customization after application launch. return YES; } 

之前:

在这里输入图像说明

后:

在这里输入图像说明

更新:你也可以设置背景图像,并将阴影设置为下面的代码

  UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"]; [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; [[UITabBar appearance] setBackgroundImage:tabBarBackground]; 

OUTPUT:

在这里输入图像说明

shadowImage属性负责UITabbar上的边界线(灰色阴影)。 更新此属性的值以将其删除。

试试这个,** 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设置自定义背景图像(如果使用默认背景图像,将使用默认阴影图像)。