-systemFontOfSize:和-boldSystemFontOfSize之间是否有中等重量字体:?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了-systemFontOfSize:和-boldSystemFontOfSize之间是否有中等重量字体:?相关的知识,希望对你有一定的参考价值。

-systemFontOfSize太薄了,而boldSystemFontOfSize太粗了。我需要介于两者之间。

当我创建像这样的UIFont时:

[UIFont boldSystemFontOfSize:14];

然后调试器打印此字体信息:

font-family:“。Helvetica NeueUI”; font-weight:bold; font-style:normal; font-size:14px

有时字体具有中等字体粗细。如何创建此类型的字体,但中等重量?

答案

调用NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica Neue"]);打印所有可用的Helvetica Neue字体样式,其中有HelveticaNeue-Medium,听起来像你想要的那样:

UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:14.0f];

如果你想确保当系统字体发生变化时字体也会发生变化(例如,就像从Helvetica到Helvetica Neue的视网膜设备一样),你可以先得到系统字体,然后拿familyNamepointSize来检索一个使用+ fontNamesForFamilyName然后+ fontWithName:size:减肥

另一答案

iOS 8.2开始,您可以使用:

[UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
另一答案

Swift 2.0,xcode7.1

if #available(ios 8.2, *) {
   titleLabel?.font = UIFont.systemFontOfSize(15, weight: UIFontWeightMedium)
} else {
    titleLabel?.font = UIFont(name: "HelveticaNeue-Medium", size: 15)
}
另一答案

斯威夫特3:

UIFont.systemFont(ofSize: 14, weight: UIFontWeightMedium)
另一答案

使用Swift 4或5,添加此扩展名:

extension UIFont {
    class func mediumSystemFont(ofSize pointSize:CGFloat) -> UIFont {
        return self.systemFont(ofSize: pointSize, weight: .medium)
    }
}

然后 :

myLabel.font = UIFont.mediumSystemFont(ofSize: 16)

同样的原理适用于Semibold,Black等,检查UIFont.Weight

另一答案

Swift 2.3并没有改变字体大小:

extension UIFont {
    var mediumFont: UIFont {
        return UIFont.systemFontOfSize(self.pointSize, weight: UIFontWeightMedium)
    }
}

用于:

titleLabel.font = titleLabel.font.mediumFont

以上是关于-systemFontOfSize:和-boldSystemFontOfSize之间是否有中等重量字体:?的主要内容,如果未能解决你的问题,请参考以下文章

快速设置 UITextfield 占位符的字体

如何在 TextView BOLD 上制作特定文本

给自己- 博客园文章编写规范

Xshell主题

xshell的配色方案

Xshell 配色方案