iOS - 是否可以制作UIFont SystemFont Italic和Thin(不使用fontWithName :)?

时间:2015-11-02 11:31:48

标签: ios objective-c uifont uifontdescriptor uifontweighttrait

我的应用仅使用系统字体,我正在使用功能

创建它们
+ (UIFont * _Nonnull)systemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight

如何使用重量UIFontWeightThin制作系统字体斜体?

我无法使用特定系列字体(fontWithName :)的调用,因为我希望它只是系统字体。

谢谢:)

2 个答案:

答案 0 :(得分:1)

首先应该创建包含字体类型的字体描述符(如果它是斜体或粗体或细线等)。

UIFontDescriptor* desc = [UIFontDescriptor fontDescriptorWithFontAttributes:
                          @{
                            UIFontDescriptorFaceAttribute: @"Thin"
                            }
                          ];

之后创建一个包含描述符信息的字体对象

UIFont *font = [UIFont fontWithDescriptor:desc size:17];

因此,请将字体对象设置为标签。

现在您使用系统字体获得了一个字体对象,但您可以在不使用fontWithName的情况下更改它的类型和大小。

答案 1 :(得分:0)

这样的事情:

[youLabel setFont:[UIFont fontWithName:[youLabel.font fontName] size:UIFontWeightThin]];