2012-04-16 11 views
5

robię coś takiego:Dlaczego ustawienie obrazu tła UINavigationBar wpływa na rozmiar paska nawigacji?

UIImage *barBackgroundImage = [UIImage imageNamed:@"myImage.png"]; 
[[UINavigationBar appearance] setBackgroundImage: 
            backgroundImage 
            forBarMetrics:UIBarMetricsDefault]; 

i otrzymaną UINavigationBar jest dużo większa niż standardowego paska nawigacyjnego. Jestem świadomy, że mój rozmiar obrazu może być problemem. Czy jest jakiś sposób, aby zająć się tym programowo?

+0

Mam ten sam problem. Czy w końcu to rozwiązałeś? –

+1

Mam to teraz. Jeśli twój obraz siatkówki to 640x88, podaj nazwę w kodzie bez załączonego @ 2x. Z jakiegoś powodu system nie zmieni prawidłowo rozmiaru, jeśli w kodzie zostanie umieszczony znak "@ 2x" (lub jeśli nazwiesz go bez "@ 2x") –

Odpowiedz

4

W ten sposób ustawiam obraz tła UINavigationController 'UINavigationController.

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault]; 
[self.navigationController.navigationBar setTintColor:LIGHTBROWN]; 

navbar.png jest 320x44 i odpowiednio 640x88 do [email protected].

2

Śledź ten link, aby Twój kod zgodny z iOS4, 5 i 6: http://robert-varga.com/?p=735

Po prostu trzeba zrobić w Photoshopie lub innym oprogramowaniem prostokątnym z wielkości 320x44 lub 640x88 (na wyświetlaczu siatkówki) i importu to do twojego projektu

Powiązane problemy