2013-09-01 39 views
7

我制作了一个自定义选项卡栏,其中一个栏超出了栏的范围。有一条线与中央标签栏重叠。无论如何,我可以摆脱或这个或隐藏它?删除自定义选项卡栏上的行

enter image description here

要做到这一点,我只是设置标签栏图片:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
UITabBar *tabBar = tabBarController.tabBar; 
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; 
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1]; 
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2]; 


tabBarItem1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
tabBarItem3.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 

[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"scheduleTabBarImageSel.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"scheduleTabBarImage.png"]]; 
    [tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"favoritesTabBarImageSel.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"favoritesTabBarImage.png"]]; 
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"searchTabBarImageSel.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"searchTabBarImage.png"]]; 

任何想法如何隐藏行?谢谢

+0

你在做viewDidLoad中这些配置? –

+0

它在app代理didFinishLaunchingWithOptions – Spenciefy

+0

在TabbarViewController的ViewDidLoad或ViewWillAppear中尝试这些。我记得我遇到了这个问题,并解决了这个 –

回答

0

这似乎为我工作:

[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; 
6

如果我正确地理解你的问题是与1-2shig像素阴影坐在顶部的标签栏。如果是这种情况,您可以像导航栏一样去除阴影。只需启用剪辑即可。

[self.tabBarController.tabBar setClipsToBounds:YES]; 
+0

它删除线,但我的绿色标签栏上方的标签栏被切断,然后......任何修复? – Spenciefy

+1

在iOS 7上,这对我来说非常适合。谢谢。 – Max

相关问题