Kann mir bitte jemand sagen, wie ich den Schrifttyp und die Schriftgröße ändern kann UISegmentedControl
?
ios
iphone
cocoa-touch
font-size
uisegmentedcontrol
Aashutosh Tiwari
quelle
quelle
Antworten:
Ich bin auf das gleiche Problem gestoßen. Dieser Code legt die Schriftgröße für das gesamte segmentierte Steuerelement fest. Ähnliches könnte für die Einstellung des Schrifttyps funktionieren. Beachten Sie, dass dies nur für iOS5 + verfügbar ist
Objekt C :
BEARBEITEN:
UITextAttributeFont
wurde veraltet -NSFontAttributeName
stattdessen verwenden.EDIT # 2: Für Swift 4
NSFontAttributeName
wurde in geändertNSAttributedStringKey.font
.Swift 5 :
Swift 4 :
Swift 3 :
Swift 2.2 :
Dank der Swift-Implementierungen von @ audrey-gordeev
quelle
[mySegmentedControl setTintColor:onColor forTag:kTagOnState];
und ein gemacht habe,[mySegmentedControl setTintColor:offColor forTag:kTagOffState];
dann wenden Sie[mySegmentedControl setTitleTextAttributes:attributes forState:UIControlStateNormal];
die Farben an, die ich gerade eingestellt habe.NSDictionary *attributes = @{NSFontAttributeName: [UIFont boldsystemFontOfSize:12.0f]};
boldSystemFontOfSize:
(Hauptstadt S für System)Verwenden Sie die Darstellungs-API in iOS 5.0+:
Links: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40010906
http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
quelle
UITextAttributeFont
wurde abgeschrieben -NSFontAttributeName
stattdessen verwenden.UISegmentedControl
s geändert wird .Hier ist eine Swift-Version der akzeptierten Antwort:
Swift 3 :
Swift 2.2 :
quelle
Eine andere Option besteht darin, eine Transformation auf das Steuerelement anzuwenden. Es wird jedoch alles verkleinert, einschließlich der Kontrollgrenzen.
quelle
Schneller Stil:
quelle
[NSFontAttributeName: font]
Hier habe ich für iOS8 aktualisiert
quelle
XCode 8.1, Swift 3
Ändern Sie einfach den Zahlenwert
(ofSize: 24.0)
quelle
Wenn Sie Fragen haben, kontaktieren Sie mich.
quelle
nil
Wert zurück.C # / Xamarin:
quelle
Swift 4
quelle
Instance member 'setTitleTextAttributes' cannot be used on type 'UISegmentedControl'; did you mean to use a value of this type instead?
iOS13 / Swift5Daniel zeigte mir den richtigen Weg. Ich habe es so benutzt-
quelle
Erweiterung zum
UISegmentedControl
Einstellen der Schriftgröße.quelle
quelle
In
swift 5
,quelle
Sie können die tatsächliche Schriftart für das UILabel ermitteln, indem Sie jede der Ansichten beginnend mit UISegmentedControl rekursiv untersuchen. Ich weiß nicht, ob dies der beste Weg ist, aber es funktioniert.
Im obigen Code stelle ich nur die Textfarbe des UILabels ein, aber Sie können vermutlich auch die Schriftart-Eigenschaft abrufen oder festlegen.
quelle
Dies ist für das Ziel c, Ihren segmentierten Kontrollnamen anstelle von mysegmentedcontrol hinzuzufügen
ich hoffe es hilft
quelle