2012-06-18 11 views
5

próbuję zmienić kolor z UIPopoverControler na iOS 5. Aby to zrobić, używam podklasę UIPopoverBackgroundView że przypisać do mojego popover tak:UIPopoverController (iz powrotem przycisk kolor)

self.popover.popoverBackgroundViewClass = [KWPopoverBackgroundView class]; 

Moje popover jest teraz czarne, jak zdefiniowałem w mojej klasie KWPopoverBackgroundView, ale nadal mam problem z wyglądem. Przycisk Wstecz (Medale) kontrolera nawigacji w moim popover jest nadal niebieski. Chcę wszystko zunifikowane na czarno. Jak pozbyć się tego niebieskiego koloru?

enter image description here

Próbowałem zmienić tintColor mojego navigationController.navigationBar ale oczywiście popover does'nt obchodzi. Czy można to naprawić w systemie iOS 5.0? (Moja aplikacja znajduje się w AppStore, nie chcę brzydkiego hacka naprawić to) Dziękuję.

+0

nie działać w iOS7 – Jacky

Odpowiedz

12

OK, właśnie znalazłem, jak zmienić kolor tinty z przycisku wstecz UINavigationController (lub innych UIBarButtonItems) wewnątrz UIPopoverController.

Za pomocą UIPopoverBackgroundView można zmieniać tylko obrazy tła i strzałki. Aby zmienić wygląd innych elementów, musisz użyć UIAppearance z czymś podobnym do poniższego.

// Set the UIBarButtonItem(s) inside UIPopoverController class to dark gray 
[[UIBarButtonItem appearanceWhenContainedIn:[UIPopoverController class], nil] 
         setTintColor:[UIColor colorWithWhite:0.1f alpha:1.0f]]; 

black popover with black back button item

+0

Rozglądałem się z wielu słów kluczowych i chciał zrezygnować i znaleźć obraz do korzystania z wyszukiwarki grafiki Google. Co dziwne, to właśnie wyszukiwanie obrazów Google przyniosło mi to piękne rozwiązanie. Dziękuję za odpowiedź na to pytanie! – acedanger