问题
I find UISegmentedControl
change font and size like this :
UISegmentedControl.appearance().setTitleTextAttributes(myFontAttribute as [NSObject : AnyObject] , forState: .Normal)
but UILabel have no this method
I want to do like
UILabel.appearance().setAttributed(myFontAttribute)
I don't want to change UILabel font in StoryBoard
I want to using program to do this (because my app is done, but only font should change to bigger and other font)
What should I do ?
回答1:
First you need to add extension to UILabel :
extension UILabel{
var defaultFont: UIFont? {
get { return self.font }
set { self.font = newValue }
}
}
Second use appearance to set it:
UILabel.appearance().defaultFont = UIFont.systemFont(ofSize: 25)
Hope it helps.
回答2:
You can change the label font programmatically like this
label.font = UIFont(name: label.font.fontName, size: 14)
Change font size only with bold
label.font = UIFont.boldSystemFontOfSize(18)
Change font size only
label.font = label.font.fontWithSize(14)
回答3:
if you want to change the size of font, used below lines of code :
for Swift 3 :
label.font = label.font.withSize(20)
回答4:
You can use this simple code in swift
myLabel.attributedText = NSMutableAttributedString(string: myLabel.text!, attributes: [NSFontAttributeName:UIFont(name: "YourFont", size: 12), NSForegroundColorAttributeName: UIColor.whiteColor()])
来源:https://stackoverflow.com/questions/36323751/how-to-default-uilabel-font-and-size-using-swift