How to set text font as System Thin in Swift?
The system
font in the Interface Builder is the OS default font, it is not a font you can get by it's name. For the system font Apple provides the following methods:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;
These do not include any thin version but iOS 8.2 onwards you can use:
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight;
Where you can pass: as weights:
UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
So a thin system font would be:
UIFont *thinFont = [UIFont systemFontOfSize:15 weight:UIFontWeightThin];
If you're using iOS 8.2 or higher you can use this;
label.font = UIFont.systemFontOfSize(15, weight: UIFontWeightThin)
For previous versions just use HelveticaNeue-Thin
as your font.
Edit: for iOS 14 it is:
label.font = UIFont.systemFont(ofSize: 14, weight: .light)