2012-04-17 11 views
5

Po przeszukaniu strony internetowej, jak zmienić pozycję pozycji tytułowej UITabBarItem, przebiegłem podobno po this podobny post i wciąż zastanawiałem się, jak to zrobić.Pozycja tytułowa UITabBarItem

Czy można nawet nieco zmienić pozycję tytułu od dołu do góry? (na przykład 5px) Potrzebuję tego, ponieważ mam niestandardowe obrazy, a teraz pozycja tytułu nie jest idealna.

Odpowiedz

1

Dlaczego po prostu nie masz pustej właściwości tytułu dla kontrolera widoku i nie dodasz do swoich własnych obrazów tytułu karty?

Można to zrobić (w iOS 5.0):

UIImage* iconSelected = [UIImage imageNamed:@"tabIconSelected.png"]; 
UIImage* iconNotSelected = [UIImage imageNamed:@"tabIconNotSelected.png"]; 
UITabBarItem *updatesListItem = [[UITabBarItem alloc] initWithTitle:@"" image:iconSelected tag:0]; 
[updatesListItem setFinishedSelectedImage:iconSelected withFinishedUnselectedImage:iconNotSelected]; 
[navigationController setTabBarItem:updatesListItem]; 

gdzie tabIconSelected.png i tabIconNotSelected.png oba zawierają tekst tytuł dla zakładki.

Napisałem krótki artykuł "Add some colour to your UITabBar icons", który wyjaśnia, w jaki sposób używać niestandardowych obrazów z zakładkami.

Mam nadzieję, że to pomoże.

+1

co o lokalizacji? – Claus

12

Jeśli chcesz, aby poruszać się po prostu ustawić przesunięcie pionowe do wartości ujemnej

UITabBarItem* it = [[self.tabController.tabBar items] objectAtIndex:0]; 
it.titlePositionAdjustment = UIOffsetMake(0.0, -2.0); 

Nie musisz korzystać z serwera proxy, jak to się robi tutaj UITabBarItem title in centre of title, not at bottom .you może określić przesunięcie za sztukę.

7

Swift wersja dla leniwych :)

UITabBarItem.appearance().titlePositionAdjustment = UIOffsetMake(0.0, -4.0) 
1

Globalna korekta w Objective-C:

[[UITabBarItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, -4)];