21

iOS 7 中的 slim 系统字体的名称是什么?有没有像这样使用它的方法UIFont systemFontOfSize:

4

4 回答 4

27

这是一个有用的参考工具:

http://iosfonts.com

您正在寻找的是HelveticaNeue-LightHelveticaNeue-UltraLight

于 2013-09-15T20:31:32.010 回答
22

从 iOS 8.2开始,您现在可以使用UIFont.systemFontOfSize(_:CGFloat,weight:CGFloat)

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

iOS SDK 提供了权重常量:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy

当您想使用系统字体时,使用系统字体比基于字体名称创建字体要好,因为 iOS 可以在 iOS 上更改其系统字体(就像他们在 iOS 7 中使用 Helvetica Neue 时所做的那样,现在在 iOS 9 中使用 San Francisco 时) .

于 2015-06-24T06:05:00.860 回答
1

只需为 UIFont 做一个扩展,如下所示

extension UIFont {

    static func lightSystemFontOfSize(size: CGFloat) -> UIFont {

        let familyName = UIFont.systemFontOfSize(15).familyName.stringByReplacingOccurrencesOfString(" ", withString: "")

        return UIFont(name: "\(familyName)-Light", size: size)!
    }
}
于 2016-08-21T17:06:57.950 回答
0

刚刚为它创建了一个类别:

#import <UIKit/UIKit.h>

@interface UIFont (System)

+ (UIFont *)lightSystemFontOfSize:(CGFloat)fontSize;
+ (UIFont *)ultraLightSystemFontOfSize:(CGFloat)fontSize;

@end

#import "UIFont+System.h"

@implementation UIFont (System)

+ (UIFont *)lightSystemFontOfSize:(CGFloat)fontSize {
    return [UIFont fontWithName:@"HelveticaNeue-Light" size:fontSize];
}

+ (UIFont *)ultraLightSystemFontOfSize:(CGFloat)fontSize {
    return [UIFont fontWithName:@"HelveticaNeue-UltraLight" size:fontSize];
}

@end
于 2015-08-13T06:56:22.753 回答