2013-09-01 41 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

相關問題