2012-07-04 63 views
0

http://i.stack.imgur.com/NAqSJ.png標籤欄垂直偏移的iOS 5

我有我的定製標籤欄垂直方向的偏移問題。 UIImage和屏幕底部之間似乎有一個黑色的差距。這怎麼解決?我用下面的代碼在第一個的viewController我viewDidLoad中()方法:

[super viewDidLoad]; 
UIImage *selectedImage0 = [UIImage imageNamed:@"tabBarButtonHomeSelected.png"]; 
UIImage *unselectedImage0 = [UIImage imageNamed:@"tabBarButtonHomeUnselected.png"]; 

UIImage *selectedImage1 = [UIImage imageNamed:@"tabBarButtonUserSelected.png"]; 
UIImage *unselectedImage1 = [UIImage imageNamed:@"tabBarButtonUserUnselected.png"]; 

UIImage *selectedImage2 = [UIImage imageNamed:@"tabBarButtonPricetagSelected.png"]; 
UIImage *unselectedImage2 = [UIImage imageNamed:@"tabBarButtonPricetagUnselected.png"]; 

UIImage *selectedImage3 = [UIImage imageNamed:@"tabBarButtonStarSelected.png"]; 
UIImage *unselectedImage3 = [UIImage imageNamed:@"tabBarButtonStarUnselected.png"]; 

UIImage *selectedImage4 = [UIImage imageNamed:@"tabBarButtonGearSelected.png"]; 
UIImage *unselectedImage4 = [UIImage imageNamed:@"tabBarButtonGearUnselected.png"]; 

UITabBar *tabBar = self.tabBarController.tabBar; 
UITabBarItem *item0 = [tabBar.items objectAtIndex:0]; 
UITabBarItem *item1 = [tabBar.items objectAtIndex:1]; 
UITabBarItem *item2 = [tabBar.items objectAtIndex:2]; 
UITabBarItem *item3 = [tabBar.items objectAtIndex:3]; 
UITabBarItem *item4 = [tabBar.items objectAtIndex:4]; 

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0]; 
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1]; 
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2]; 
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3]; 
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4]; 

我好心謝謝。

回答

1

解決方案是製作三種類型的圖像。 首先你需要一個TabBar的背景。 其次,您需要一個圖像,其大小爲一個按鈕的大小,用於一個選項卡的選定或高亮顯示的背景。 第三你需要你的圖標沒有任何背景。

現在您設置的TabBar背景

[tabBar setBackgroundImage:[UIImage imageNamed:@"background.png"]]; 

那麼您將突出顯示的背景瓷磚:

[tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"selected.png"]]; 

那麼你需要像你在你的問題做了設置你的圖標。 這應該完成這項工作。

1

通常,標籤標題會進入該空間。你的標籤項目都有空的標題,這是故意的嗎?如果是,那麼你應該改變你的工具欄視圖的默認框架,可能是增加frame.origin.y的差距。

+0

是的,我想要標題刪除和圖標垂直居中。你可能有這樣的例子嗎? – naf

0

您現在可以在故事板中修復此問題。 Storyboard size inspector image inset adjustment

選擇要調整的標籤欄項目,打開尺寸檢查器,然後調整頂部和底部圖像插圖。你需要調整他們相同的數量,否則他們會擠壓/拉伸你的形象(所以+5在頂部,-5在底部)