2013-06-28 50 views
8

Utworzono tabBar i ustawiłem w nim obraz, ale pozostawia on zbyt dużo miejsca poniżej tabBarItem. Jak mogę to usunąć?Jak usunąć spację pod UITabBarItem?

To jest mój tabBar niż wyświetlanie teraz

enter image description here

I chcę, aby wyświetlić go jak ten

enter image description here

Aby wyświetlić umieszczenie zakładek

firstVC = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil]; 
secondVC = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
thirdVC = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil]; 
forthVC = [[ForthViewController alloc] initWithNibName:@"ForthViewController" bundle:nil]; 

    [[UITabBar appearance] setTintColor:[UIColor whiteColor]]; 

    NSArray *viewControllersArray = [[NSArray alloc] initWithObjects:firstVC,secondVC,thirdVC,forthVC, nil]; 

    self.tabController = [[UITabBarController alloc] init]; 
    [self.tabController setViewControllers:viewControllersArray animated:NO]; 


    [self.window addSubview:self.tabController.view]; 

    //self.tabController.selectedIndex = 1; 

    self.tabController.delegate = self; 

    self.window.rootViewController = self.tabController; 
    [self.window makeKeyAndVisible]; 

Na umieszczenie zakładek tle obraz Użyłem ten kod

UIImage* tabBarBackground = [UIImage imageNamed:@"tabbarimg1.png"]; 
[[UITabBar appearance] setBackgroundImage:tabBarBackground]; 

I ustawić Imge w pozycji Użyłem ten kod

//used to set the tabBarItem images 
     [self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"home_tab"] withFinishedUnselectedImage:[UIImage imageNamed:@"home_tab"]]; 
     //Set the badge on tabBarItem 
     [self.tabBarItem setBadgeValue:@"15"]; 
+0

gdzie jest twój pasek zakładek? tak jak napisałeś "To jest mój tabbar, niż wyświetlany teraz" –

+0

Czy jest jakiś problem, ponieważ dodałem do niego moje zdjęcie, wyświetla ono inny obraz, taki jak GTA vice city image .... Dziwne ... –

+0

Hej @Kane Don pokaż tabbar ...... –

Odpowiedz

17

Jak Pogoń mówi w their answer here:

Jest właściwość na UIBarItem (element UIBarButton dziedziczy z tej klasy ) imageInsets.

Aby korzystać z pełnych obrazów wysokości (49px) dla finishedSelectedImage i finishedUnselectedImage trzeba ustawić te wypustki obrazu:

tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);

trzeba napisać następujące linie kodu

item0.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
item1.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
item2.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
item2.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0); 
+1

Podczas kopiowania słów innej osoby należy jawnie ją wywołać i połączyć z oryginalną odpowiedzią. Zrobiłem to w powyższym, ale upewnij się, że podasz odpowiednią nazwę w przyszłości. –

+0

Dobra odpowiedź +1 .. –

9

I myślę, że powinieneś użyć owadów z obrazka w Xib, na przykład: enter image description here

dla twojego wymagania wierzchołek powinien być pewną wartością dodatnią, a dół powinien mieć taką samą wartość ujemną. Jeśli programistycznie dodałeś pasek zakładek, możesz odesłać odpowiedź Willsa:

+0

Myślę, że w ten sposób jej lepiej b/c można edytować na konstruktorze interfejsów, przy okazji nadal działa na xcode 7 – norman784