Bessere Antwort ist die mit der Erweiterungsmethode .withTraits () von @Maksymilian Wojakowski
Keine Rückerstattung Keine Rückgabe
Sir Sir, wie man den Textbox-Stil fett setzt, ohne das
Größenziel anzugeben.
3
Dies ist problematisch, da Sie einen festen Schriftnamen verwenden. Da sich dies ändern kann, ist dies keine gute Lösung. Die Antwort von Maksymilian Wojakowski ist besser und weitaus flexibler.
Ray Wojciechowski
274
Versuchen Sie nicht, mit den Schriftnamen zu spielen. Mit dem Font Deskriptor benötigen Sie keine Namen:
UILabel* label =[[UILabel alloc] init];// use your label object instead of thisUIFontDescriptor* fontD =[label.font.fontDescriptor
fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold|UIFontDescriptorTraitItalic];
label.font =[UIFont fontWithDescriptor:fontD size:0];
Ich weiß nicht, warum dies nicht mehr Stimmen erhalten hat! Für Schriftarten, bei denen Sie keinen fetten oder kursiven Stil haben, ist dies großartig!
Chris Prince
4
Ähhh. Ich verstehe, warum das vielleicht nicht so beliebt ist. Nur in iOS7 und höher verfügbar ...
Chris Prince
3
Ich weiß nicht, ob dies unter NDA berücksichtigt werden sollte, aber mit Xcode6- und iOS8-GM-Seed erhalte ich einen Null-Schriftdeskriptor für eine benutzerdefinierte Schrift zurück, bei der es unter iOS7 nicht Null war.
Chris Prince
@Maksymilian können wir diese Methode irgendwo in mehreren Labels ablehnen, dh: uitableview
Majid Bashir
2
Nur eine kurze Anmerkung, da diese Antwort so hilfreich ist: return withTraits(.TraitBold, .TraitCondensed)sollte wahrscheinlich return withTraits(.TraitBold, .TraitItalic)mit dem Funktionsnamen übereinstimmen.
Die beiden Stile funktionieren nicht. In diesem Fall herrscht letzterer kursiv vor. Danke für die Antwort!
Edi
@Edinator yups Ich weiß, dass Sie immer nur einen verwenden müssen ... Ich hatte auch meine Antwort bearbeitet!
Sudhanshu
8
Sie können einen beliebigen Schriftstil, eine beliebige Schriftart und eine beliebige Schriftgröße für die Beschriftung festlegen, indem Sie im Feld Schriftart auf den Buchstaben "T" klicken .
Aber hier ist die große Frage, neben der Verwendung von fontWithName: @ "Arial-Light", wie geben Sie die anderen Gewichte in Ihrem Screenshot an? Alles bringt Fettdruck auf SystemSontSize (von: __), aber was ist, wenn jemand Licht oder Ultraleicht will?
Dave G
6
Ich habe das gleiche Problem, bei dem sowohl Fett als auch Kursiv auf ein Etikett und eine Schaltfläche angewendet werden müssen. Sie können einfach folgenden Code verwenden, um diesen Effekt zu erzielen:
Für Arial funktioniert es nicht. Aber es funktioniert für Helvetica-BoldOblique. Siehe die UIFont-Dokumentation hier iphonedevwiki.net/index.php/UIFont
sudip
1
Du meinst "HelveticaNeue", nicht "Arial" :)
jpmartineau
Was ist, wenn wir unsere benutzerdefinierte Schriftart hinzufügen?
Majid Bashir
6
Mit der Standardschriftart des iOS 7-Systems verwenden Sie helvetica neue fett, wenn Sie die Standardschriftart des Systems beibehalten möchten.
Dies ist nützlich, wenn Sie eine Zelle wiederverwenden und die Kursivschrift entfernen möchten, die Sie auf einem Etikett in einer vorherigen Zelle angebracht haben
Wie bereits in diesen Antworten erwähnt, benötigen Sie nur den richtigen Schriftnamen . Ich finde, dass iOSFonts.com die hilfreichste Ressource ist, um genau zu wissen, welcher Name verwendet werden soll.
Tolle Ressource! Ich habe es auf meinem iOS-Gerät durchsucht, eine gut aussehende Schriftart gefunden und dann "fontWithName" verwendet, um eine Instanz davon abzurufen.
Obwohl die Antwort von @tolbard erstaunlich ist und gut funktioniert!
Ich denke, eine Erweiterung für etwas zu erstellen, das in nur einer Codezeile erreicht werden kann, wäre ein Over-Kill.
Sie können sowohl Fettdruck als auch Kursivdruck für denselben Text in Ihrem Text erstellen, labelindem Sie die Schrifteigenschaft UIFontDescriptorwie unten im folgenden Beispiel gezeigt mit Swift 4.0 einrichten :
Oft wird der fettgedruckte Text auf einer anderen Ebene in einer Informationsarchitektur betrachtet und ist daher nicht fett und regelmäßig in einer Zeile, sodass Sie ihn in zwei Beschriftungen / Textansichten aufteilen können, eine reguläre und eine fett kursiv gedruckte. Verwenden Sie den Editor, um die Schriftstile auszuwählen.
Antworten:
Es gibt eine Liste von Schriftnamen, die Sie anstelle des Attributs 'fontWithName' festlegen können. Der Link befindet sich hier
quelle
Versuchen Sie nicht, mit den Schriftnamen zu spielen. Mit dem Font Deskriptor benötigen Sie keine Namen:
size:0
bedeutet "Größe beibehalten wie sie ist"Versuchen Sie mit Swift die folgende Erweiterung:
Dann können Sie es folgendermaßen verwenden:
oder fügen Sie sogar zusätzliche Merkmale wie Condensed hinzu:
Update für Swift 4:
Verwenden Sie es wie folgt:
myLabel.font = myLabel.font.bold
oder
myLabel.font = myLabel.font.italic
oder
myLabel.font = myLabel.font.with(traits: [ .traitBold, .traitCondensed ])
Update für Swift 5
quelle
return withTraits(.TraitBold, .TraitCondensed)
sollte wahrscheinlichreturn withTraits(.TraitBold, .TraitItalic)
mit dem Funktionsnamen übereinstimmen.@Edinator schau dir das an ..
Verwenden Sie eine der oben genannten Optionen zu einem von Ihnen gewünschten Zeitpunkt
quelle
Sie können einen beliebigen Schriftstil, eine beliebige Schriftart und eine beliebige Schriftgröße für die Beschriftung festlegen, indem Sie im Feld Schriftart auf den Buchstaben "T" klicken .
quelle
Ich habe das gleiche Problem, bei dem sowohl Fett als auch Kursiv auf ein Etikett und eine Schaltfläche angewendet werden müssen. Sie können einfach folgenden Code verwenden, um diesen Effekt zu erzielen:
quelle
Mit der Standardschriftart des iOS 7-Systems verwenden Sie helvetica neue fett, wenn Sie die Standardschriftart des Systems beibehalten möchten.
Oder Sie können es einfach nennen:
quelle
Swift 3
Fett gedruckt:
let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)
Kursiv:
let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)
quelle
Sie können damit auch fett gedruckte Beschriftungs- / Schaltflächenschriften erstellen
quelle
Ich habe eine Variation der Reaktion von maksymilian wojakowski vorgenommen, bei der Sie ein oder mehrere Merkmale hinzufügen oder entfernen können.
Beispiel
Dies ist nützlich, wenn Sie eine Zelle wiederverwenden und die Kursivschrift entfernen möchten, die Sie auf einem Etikett in einer vorherigen Zelle angebracht haben
quelle
Ich habe kürzlich einen Blog-Beitrag über die Einschränkungen der UIFont-API und deren Lösung geschrieben. Sie können es hier sehen
Mit dem Code, den ich dort zur Verfügung stelle, können Sie Ihr gewünschtes UIFont so einfach erhalten wie:
UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];
Und setzen Sie es dann auf Ihr UILabel (oder was auch immer) mit:
myLabel.font = myFont;
quelle
Wie bereits in diesen Antworten erwähnt, benötigen Sie nur den richtigen Schriftnamen . Ich finde, dass iOSFonts.com die hilfreichste Ressource ist, um genau zu wissen, welcher Name verwendet werden soll.
quelle
Beispiel Fettgedruckter Text:
Beispiel Kursiver Text:
quelle
Obwohl die Antwort von @tolbard erstaunlich ist und gut funktioniert!
Ich denke, eine Erweiterung für etwas zu erstellen, das in nur einer Codezeile erreicht werden kann, wäre ein Over-Kill.
Sie können sowohl Fettdruck als auch Kursivdruck für denselben Text in Ihrem Text erstellen,
label
indem Sie die SchrifteigenschaftUIFontDescriptor
wie unten im folgenden Beispiel gezeigt mit Swift 4.0 einrichten :Weitere Optionen sind:
Weitere Informationen darüber, was diese symbolischen Merkmale bedeuten? Besuche hier
quelle
Aktualisierung von Maksymilian Wojakowskis großartiger Antwort für Swift 3
quelle
Das ist sehr einfach. Hier ist der Code.
Das wird dir helfen.
quelle
Ich möchte das nur erwähnen,
Sie haben unterschiedliche Ergebnisse ...
quelle
Oft wird der fettgedruckte Text auf einer anderen Ebene in einer Informationsarchitektur betrachtet und ist daher nicht fett und regelmäßig in einer Zeile, sodass Sie ihn in zwei Beschriftungen / Textansichten aufteilen können, eine reguläre und eine fett kursiv gedruckte. Verwenden Sie den Editor, um die Schriftstile auszuwählen.
quelle
Mit Swift 5
quelle