2016-03-31 11 views
7

Ich finde UISegmentedControl ändern Schriftart und Größe wie diese auf die Standard:Wie UILabel Schriftart und Größe mit Swift

UISegmentedControl.appearance().setTitleTextAttributes(myFontAttribute as [NSObject : AnyObject] , forState: .Normal)

aber UILabel haben nicht diese Methode

ich tun möchte, wie

UILabel.appearance().setAttributed(myFontAttribute)

Ich möchte UILabel Schriftart in StoryBoard

nicht ändern

Ich mag Programm zu verwenden, dies zu tun

Was soll ich tun (weil meine app getan wird, aber nur Schrift, um größere und andere Schriftart ändern soll)?

+0

Sie möchten nur Schriftart und Größe oder attributierte Zeichenfolge ändern? –

+0

attributierte Zeichenfolge ist besser – nine9

+0

"UIAppearance" ermöglicht nur das Festlegen von Eigenschaften, die in der Objective-C-Headerdatei mit 'UI_APPEARANCE_SELECTOR' gekennzeichnet sind. Da 'UILabel' keine solchen Eigenschaften hat, kann es nicht mit' UIAppearance' versehen werden. Siehe auch [diese Frage] (http://stackoverflow.com/questions/11839044/how-do-i-apply-uiappearance-proxy-properties- to-uilabel), das ist im Wesentlichen die exakt gleiche Frage, aber mit Objective-C –

Antwort

26

Zuerst müssen Sie Erweiterung hinzufügen zu UILabel:

extension UILabel{ 
    var defaultFont: UIFont? { 
     get { return self.font } 
     set { self.font = newValue } 
    } 
} 

Zweite Verwendung Aussehen es zu setzen:

UILabel.appearance().defaultFont = UIFont.systemFont(ofSize: 25) 

Hoffe, es hilft.

+0

das war von unschätzbarem Wert. Hier ist, wie ich es angewendet habe. http://stackoverflow.com/questions/41138367/how-do-irewrite-a-uilabel-after-it-is-added-to-a-subview – Greg

9

können Sie das Label Schriftart programmatisch wie diese ändern

label.font = UIFont(name: label.font.fontName, size: 14) 

Schriftgröße nur mit fett

label.font = UIFont.boldSystemFontOfSize(18) 

Schriftgröße nur

label.font = label.font.fontWithSize(14) 
+0

diese Idee nicht gut für mich, weil es IBOutlet ... Ich möchte nicht mit IBOutlet. Weil ich viel UILable in meiner App habe. – nine9

-1

Sie können diesen einfachen Code in schnellen verwenden

myLabel.attributedText = NSMutableAttributedString(string: myLabel.text!, attributes: [NSFontAttributeName:UIFont(name: "YourFont", size: 12), NSForegroundColorAttributeName: UIColor.whiteColor()]) 
-1

wenn Sie die Größe der Schriftart ändern möchten, unter Codezeilen verwendet:

für Swift 3:

label.font = label.font.withSize(20)