从TabBar中删除第一行

在iOS 10上,此代码不能用于删除tabBar阴影线:

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

有人知道,我该怎么做才能删除它?

在具有这两行的iOS 9.3 ,该行被删除,但iOS 10忽略了setShadowImage命令。

试着低估iOS 10的代码: –

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. [[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"fondoTabBar"]]; [UITabBar appearance].layer.borderWidth = 0.0f; [UITabBar appearance].clipsToBounds = true; return YES; } 

Swift 3.x

 UITabBar.appearance().layer.borderWidth = 0.0 UITabBar.appearance().clipsToBounds = true 

只有2行删除了背线

 tabBar.shadowImage = UIImage() tabBar.backgroundImage = UIImage() 

我在ios 10中遇到了同样的问题。我修改了这个问题只是改变了UITabBar的高度(默认为49)。 在这里查看如何更改高度。

您应该同时实现以下两种方法:

 [[UITabBar appearance] setShadowImage:[UIImage new]]; [[UITabBar appearance] setBackgroundImage:[UIImage new]]; 

对于iOS 10,将tabbar样式改为黑色就行了

 self.tabBarController.tabBar.shadowImage = UIImage() self.tabBarController.tabBar.barStyle = .Black 

如果您创建自己的UITabBarController子类,则可以在viewDidLoad中设置这样的值

斯威夫特3

 override func viewDidLoad() { super.viewDidLoad() self.tabBar.layer.borderWidth = 0 self.tabBar.clipsToBounds = true } 

它是tabbar的阴影图像(属性)。 尝试以下解决方案并查看。

试试这个,** 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]]; 

**斯威夫特**

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