2013-09-21 12 views
5

skonfigurować UIBarButtonItem Czcionka tytułu przez appearance pełnomocnika w AppDelegate:UIBarButtonItem zmienia czcionkę po naciśnięciu określony wygląd pełnomocnika

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIFont fontWithName:@"Segoe Print" size: 14.0], UITextAttributeFont, 
                 DEF_TITLE_COLOR,UITextAttributeTextColor, 
                 [UIColor colorWithRed:100/255 green:128/255 blue:43/255 alpha:0.4], UITextAttributeTextShadowColor, 
                 [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, nil] 
              forState:UIControlStateNormal&UIControlStateHighlighted&UIControlStateDisabled]; 

A potem wzywam presentViewController:: w jakimś miejscu mojej aplikacji. Przycisk Bar jest pokazany z właściwej czcionki i tła obrazu, które ja w tym ViewController (nie przez wygląd):

enter image description here

Ale po naciśnięciu „Join” przycisk, standard nie dostosowane UIAlertView pokazano, i zaraz po pojawieniu się na ekranie moja czcionka barButton zmienia się na ... standardowa? Kolor również wygląda jak kolor tinty. Nie mam pojęcia co robię źle, próbował mnóstwo rzeczy zrozumieć to:

enter image description here

Ten błąd pojawia się tylko na iOS7.

+0

@ user2277872 To nie pomoże. Mając ten sam problem. Kiedy próbuję oddzielić stany za pomocą "|", jak zasugerował null, proxy nie działa w ogóle, nawet nie zmieniając czcionki dla stanu Normalnego. – kokoko

Odpowiedz

1

Cóż, doszedłem do wniosku, że proxy wyglądu nie działa tak, jak się spodziewałem. Kopiowałem-wkleiłem metodę dostosowywania tuż przed miejscem, gdzie zainicjowano UIBarButtonItem, i zadziałało to jako urok.

+0

To samo - pomogło. Połączyłem ten UIBarButtonItem z storyboardem. Tak więc spróbowałem ponownie zainicjować przycisk przy pomocy [[UIBarButtonItem alloc] init] i ręcznie ustawić przypisane do niego (zamiast używać tych w storybooku). Działa, ale dziwne, myślę, że to błąd Apple'a. – pedrouan

+0

Istnieje radar dla tego https://github.com/lionheart/openradar-mirror/issues/15652 – karmel

-1

ta może działać w przypadku iOS 7:

W viewDidLoad sposobem:

[self.navigationController.navigationBar setBarTintColor:[UIColor whiteColor]];

i określić właściwości czcionek oraz.

+0

Ta właściwość zmienia tylko kolor znaku "<" na backButtons. Używam go już podczas inicjowania aplikacji. – kokoko

Powiązane problemy