2013-08-17 12 views
5

Próbuję dostosować wygląd tytułu navigationBar w mojej aplikacji ios. Jest to kod Obecnie mam:Zapobieganie odcinaniu tytułu UiNavigationBar?

NSMutableDictionary *navigationTitleAttributes = [NSMutableDictionary dictionary]; 
[navigationTitleAttributes setValue:[UIColor whiteColor] forKey:UITextAttributeTextColor]; 
[navigationTitleAttributes setValue:[UIColor clearColor] forKey:UITextAttributeTextShadowColor]; 
[navigationTitleAttributes setValue:[NSValue valueWithUIOffset:UIOffsetMake(0.0, 0.0)] forKey:UITextAttributeTextShadowOffset]; 
[navigationTitleAttributes setValue:[UIFont fontWithName:@"Calibri" size:30] forKey:UITextAttributeFont]; 


[[UINavigationBar appearance] setTitleTextAttributes:navigationTitleAttributes]; 
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-8 forBarMetrics:UIBarMetricsDefault]; 

Kod daje następujący efekt:

SCreenshot

Działa świetnie, ale mój tytuł zostaje odcięty od dołu.

Widziałem rozwiązania tego problemu, które korzystają z niestandardowego interfejsu UIView (takiego jak ten: UINavigationbar title is cut off when using titleTextAttributes). Jednak to konkretne rozwiązanie wymaga aktualizacji właściwości titleView paska nawigacji dla każdego ekranu.

Zastanawiam się, czy istniało proste rozwiązanie, które powodowałoby kaskadę całej mojej aplikacji.

Dzięki

Odpowiedz

0

Prostym rozwiązaniem jest nieużywanie tak dużego rozmiaru czcionki. Jeśli ustawisz rozmiar na zero, tekst powinien być automatycznie dopasowany do rozmiaru.

W przeciwnym razie właściwym rozwiązaniem jest użycie niestandardowego widoku. Możesz podklasować kontroler nawigacyjny lub pasek nawigacji, aby zapewnić, że wszystkie widoki mają taką samą etykietę.

+0

Ustawianie rozmiaru czcionki do zera do automatycznego rozmiaru tekstu jest wielki wskazówka, działa dobrze. – Paludis

0

Jeśli używasz niestandardowej czcionki, być może masz taki sam problem. Znalazłem kilka odpowiedzi na ten post, by być całkiem pomocnym. Zmieniłem wartości wskaźnika w pliku czcionki .otf, aby zapobiec przycięciu czcionki na dole. Było to szczególnie powszechne w iOS 7.

Custom installed font not displayed correctly in UILabel

Powiązane problemy