如何将 UISegmentedControl 的字体更改为 "Light" 样式的系统字体?

How do I change the font of my UISegmentedControl to the "Light" styled system font?

我正在尝试更改 UISegmentedControl 中的文本样式。我想使用系统字体,但它的 "Light" 样式。我明白如何在代码行方面做到这一点,实际上只需要 string 来创建 Light 系统字体。我试过 "System-Light" 和其他一些,但它一直导致错误,但任何其他(自定义)字体都可以正常工作。

即:

let attr = NSDictionary(object: UIFont(name: "WHAT GOES IN HERE?????", size: 13.0)!, forKey: NSFontAttributeName) UISegmentedControl.appearance().setTitleTextAttributes(attr as [NSObject : AnyObject], forState: .Normal)

有什么想法吗?

要创建系统字体,请使用 class 方法 UIFont.systemFontOfSize(fontSize, weight) 而不是标准的 UIFont 构造函数。 对于浅色字体,使用 UIFontDescriptor 常量 UIFontWeightLight.

有关参考,请参阅 UIFont and UIFontDescriptor class 参考资料。