2014-05-24 45 views
2

我的應用程序,它使用Tabbarcontroller工作居中對齊(有兩個標籤) 一切工作正常的iPhone,但iPad上的兩個標籤來在屏幕UITabbar圖片和標題都沒有在ipad

我的中心要顯示在每個標籤的中心標題和圖像(考慮標籤寬度是屏幕的一半)

當搜索這些我碰到UIEdgeInsetsMake

Adjust iOS TabBar item title to the centre of it來源,但與此沒有任何幫助。

我不明白在哪裏把這段代碼。我試圖把它放在FirstViewController,然後在應用程序委託(一一),但沒有對我的作品

這是我appDelegete代碼:

FirstViewController *firstVC = [[FirstViewController alloc] init]; 
UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:firstVC]; 
//navController1.title = @"First Tab"; 
navController1.tabBarItem.image = [UIImage imageNamed:@"first.png"]; 

SecondViewController *secondVC = [[SecondViewController alloc] init]; 
UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:secondVC]; 
navController2.title = @"Second Tab"; 
navController2.tabBarItem.image = [UIImage imageNamed:@"second.png"]; 

NSArray *array = [[NSArray alloc] initWithObjects:navController1,navController2, nil]; 
UITabBarController *tabBarController = [[UITabBarController alloc] init]; 
tabBarController.tabBarItem.imageInsets = UIEdgeInsetsMake(0, -50, 0, 50); 

tabBarController.viewControllers = array; 

[self.window setRootViewController:tabBarController]; 

self.window.backgroundColor = [UIColor whiteColor]; 
[self.window makeKeyAndVisible]; 
return YES; 

任何人可以幫助?

回答

2

參考this答案,我會建議你做這樣的

1獲取屏幕寬度和你

2一旦通過分assgin平均值標籤欄的項目數除以它setItemWidthUITabBar

CGRect screenSize = [[UIScreen mainScreen] applicationFrame]; 
int count = [array count]; 
float width = screenSize.size.width/count; 
[[UITabBar appearance] setItemWidth:width]; 
+1

請注意,這將設置應用程序中所有選項卡欄的寬度 - 通常您只有一個,但您可能仍想單獨將設置限制爲每個選項卡欄(tabBarController.tabBar.itemWidth = width) 。 – SVD

5

你應該把這個代碼viewWillLayoutSubviews您的UITabBarController的

self.tabBar.itemPositioning = UITabBarItemPositioningFill; 
+0

真棒..簡單而簡單... :) –