2016-05-09 9 views
2

abgeschnitten Wenn ich bestimmte benutzerdefinierte Schriftarten in einem UITabBarItem verwende, sehe ich einige der Zeichen, die am unteren Rand abgeschnitten werden. Ich sah auch dieses auftritt auf UIButton der aber ein Update für das gefunden, die die UIButton Unterklasse war, und überschreiben Sie die folgende Methode:Benutzerdefinierte Schriftart wird in UITabBarItem title

custom font on UIbutton title clipped on top of word

-(void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    CGRect frame = self.titleLabel.frame; 
    frame.size.height = self.bounds.size.height; 
    frame.origin.y = self.titleEdgeInsets.top; 
    self.titleLabel.frame = frame; 
} 

Leider layoutSubviews ist nicht auf einem UITabBarItem außer Kraft zu setzen verfügbar . Hat jemand dieses Problem erfahren und eine Lösung gefunden?

Antwort

0

Sie können den Titel (einschließlich seiner Farbe) mit einem Attributwörterbuch (setTitleTextAttributes:forState:, von UIBarItem geerbt) anpassen, und Sie können die Position des Titels mit der setTitlePositionAdjustment(_:forBarMetrics:)-Eigenschaft anpassen.

+0

Ich habe verschiedene titlePositionAdjustment Einstellungen ausprobiert und es ist nicht die Position, die das Clipping verursacht. Ich habe verschiedene Schriftarten ausprobiert, die Standard Helvetica funktioniert gut ohne Clipping und einige andere funktionieren auch gut. Ich muss die benutzerdefinierte Schriftart verwenden, wie von den Designrichtlinien des Clients gefordert. – Andy

+0

Sie können auch eine benutzerdefinierte Schaltfläche erstellen und UIBarButtonItem damit initialisieren. 'UIBarButton: var view = // Erstelle deine eigene Ansicht' ' var btnMenu = UIBarButtonItem (customView: view) ' –

0

Es ist im Grunde Schriftarten vertikalen Abstand Problem. Sie müssen die Gesamtschrifthöhe mit der Eigenschaft font berechnen, da für jede Schrifteigenschaft unterschiedliche Werte gelten. Sie bekommen eine Idee für Schrifthöhe aus Apple-Dokumenten helfen Ihnen. Font Metrics

Verwandte Themen