UIFont fontWithSize:更改字体名称

UIFont fontWithSize: changes the fontName

如果我尝试更改 UIFont 的大小,它会更改字体名称(广告类型)。 前: font.fontName 等于 @".SFUIText-Regular"

执行这个: font = [font fontWithSize:size];

之后: font.fontName 等于 @".SFUIDisplay-Regular"

为什么?如何避免这种情况?

尝试[UIFont systemFontOfSize:36][UIFont fontWithName:@"SFUIDisplay-Regular" size:36]

这个link可能有帮助:only change font size (and not font name)

为什么要避免这种情况?操作系统决定在您想要的大小中最接近“.SFUIText-Regular”的字体是名为“.SFUIDisplay-Regular”的字体。这完全在规则之内。

接受它。

你可以这样做

label.font = [label.font fontWithSize:50];