2013-08-17 8 views
5

Ich versuche, das Aussehen des navigationbar Titel in meiner ios Anwendung anpassen. Dies ist der Code, den ich derzeit haben:von Prevent UINavigationBar Titel abschneiden zu werden?

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]; 

Der Code ergibt die folgende Wirkung:

SCreenshot

Es funktioniert großartig, aber mein Titel wird von unten abgeschnitten.

Ich habe Lösungen für dieses Problem zu sehen, die eine benutzerdefinierte UIView (wie diese: UINavigationbar title is cut off when using titleTextAttributes) verwenden. Allerdings erfordert diese bestimmte Lösung, dass die Eigenschaft Titleview der Navigationsleiste für jeden Bildschirm aktualisiert werden.

Ich frage mich, ob es eine einfache Lösung, die durch meine gesamte Anwendung Kaskade würde.

Dank

Antwort

0

Th einfache Lösung ist nicht Größe eine so große Schrift zu verwenden. Wenn Sie die Größe auf Null setzen, sollte der Text automatisch entsprechend angepasst werden.

Andernfalls eine benutzerdefinierte Ansicht verwendet, ist die richtige Lösung. Sie können den Navigationscontroller oder die Navigationsleiste von der Unterklasse ableiten, um sicherzustellen, dass alle Ansichten das Label auf die gleiche Weise formatiert haben.

+0

Einstellen der Schriftgröße auf Null zu Auto-Größe der Text ist ein guter Tipp, funktioniert gut. – Paludis

0

Wenn Sie eine benutzerdefinierte Schriftart verwenden, haben Sie möglicherweise das gleiche Problem, das ich war. Ich fand einige Antworten auf diesen Beitrag als sehr hilfreich. Ich habe meine Unterlängen in meiner .otf-Schriftart geändert, um zu verhindern, dass meine Schriftart unten abgeschnitten wird. Es war besonders häufig in iOS 7.

Custom installed font not displayed correctly in UILabel