Jestem w trakcie włączania funkcji UIAppanceance iOS 5, aby nadać mojej uniwersalnej aplikacji unikalny motyw. Obecnie mam wdrożony jakiś kod w moim App Delegata dać app niestandardowych pasków nawigacyjnych:UIAppearance Usuń niestandardowe tło NavBar dla UIPopoverController
UIImage *navBarImage = [[UIImage imageNamed:@"navigationBar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(7, 7, 7, 7)];
[[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];
Działa to dobrze i zmienia wszystkie paski nawigacyjne z prostym stylu Apple na jasnym gradientu. Jednak problem, który mam, polega na tym, że nadpisuje jakiś styl, którego też nie chcę. Mój szczególny problem polega na tym, że przesłonił on tło paska nawigacji w UIPopoverControllerze iPada, tworząc nieprzyjemne wrażenia użytkownika. Proszę, powiedz mi, jak to naprawić.
Edytuj: Zwróć uwagę, że jest to aplikacja uniwersalna i otwieram selektor zdjęć za pomocą kontrolera UIPopover na iPadzie i modalnego widoku na urządzeniu iPhone/iPod. Chcę tylko usunąć niestandardowe tło dla navBar na popover na iPadzie, a nie na widoku modalnym.
Jak to obecnie wygląda następująco:
Jak chcę wyglądać:
Z góry dzięki za pomoc, Guvvy
Ustawienie "nil" wykonało zadanie. Dziękuję bardzo za Twoją pomoc! Nie mogę uwierzyć, że sam tego nie wymyśliłem. – Gavy
ta sama sztuczka działa również dla przycisków, na przykład: '[[Wygląd UIBarButtonItemWhenContainedIn: [klasa UINavigationBar], [klasa UIPopoverController], nil] setBackgroundImage: nil forState: UIControlStateNormal barMetrics: UIBarMetricsDefault];' –