it-swarm.com.de

Gibt es eine mittlere Schriftart zwischen -systemFontOfSize: und -boldSystemFontOfSize :?

-systemFontOfSize ist zu dünn und FettSystemFontOfSize zu dick. Ich brauche etwas dazwischen.

Wenn ich eine UIFont wie folgt erstelle:

[UIFont boldSystemFontOfSize:14];

dann druckt der Debugger diese Schriftinfo:

Schriftfamilie: ".Helvetica NeueUI"; Schriftgewicht: Fett gedruckt; font-style: normal; Schriftgröße: 14px

Manchmal haben Schriftarten eine mittlere Schriftstärke. Wie kann ich eine Schrift dieses Typs mit mittlerem Gewicht erstellen?

36
Proud Member

Wenn Sie NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica Neue"]); aufrufen, werden alle verfügbaren Schriftstile für Helvetica Neue gedruckt, darunter HelveticaNeue-Medium, der wie gewünscht klingt:

UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:14.0f];

Wenn Sie sicherstellen möchten, dass sich die Schriftart auch ändert, wenn sich die Systemschriftart ändert (z. B. mit Retina-Geräten von Helvetica bis Helvetica Neue), können Sie zunächst die Systemschriftart abrufen und dann mit familyName und pointSize eine mit Medium abrufen Gewicht mit + fontNamesForFamilyName und dann + fontWithName:size:

24
JustSid

Ab iOS 8.2 können Sie Folgendes verwenden:

[UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
79
Andrei

Swift 2.0, xcode7.1

if #available(iOS 8.2, *) {
   titleLabel?.font = UIFont.systemFontOfSize(15, weight: UIFontWeightMedium)
} else {
    titleLabel?.font = UIFont(name: "HelveticaNeue-Medium", size: 15)
}
17
Tai Le

Swift 3:

UIFont.systemFont(ofSize: 14, weight: UIFontWeightMedium)
5

Fügen Sie mit Swift 4 diese Erweiterung hinzu

extension UIFont {
    class func mediumSystemFont(ofSize pointSize:CGFloat) -> UIFont {
        return self.systemFont(ofSize: pointSize, weight: .medium)
    }
}

Dann :

myLabel.font = UIFont.mediumSystemFont(ofSize: 16)

Das gleiche Prinzip funktioniert mit Semibold, Black usw., check UIFont.Weight

0
Axel Guilmin

Swift 2.3 und die Schriftgröße nicht ändern:

extension UIFont {
    var mediumFont: UIFont {
        return UIFont.systemFontOfSize(self.pointSize, weight: UIFontWeightMedium)
    }
}

Benutzen mit:

titleLabel.font = titleLabel.font.mediumFont
0
hashier