2013-09-15 2 views
21

Как называется тонкий системный шрифт в iOS 7? Есть ли способ использовать его как UIFont systemFontOfSize:?Как называется тонкий системный шрифт в iOS 7?

+2

Не правда ли Helvetica Neue Ultra Light (или, может быть, только свет)? –

+0

Сумасшедшие люди, может быть, вы тоже зададите этот вопрос: http://stackoverflow.com/questions/3838336/iphone-system-font – Dmitry

+0

Есть ответы: http://stackoverflow.com/questions/17414630/ios -7-and-helvetica-neue-ultralight-use-as-default-for-old-ios-versions – Dmitry

ответ

27

Вот полезный справочный инструмент для вас:

http://iosfonts.com

Те, что вы ищете являются HelveticaNeue-Light и HelveticaNeue-UltraLight.

+0

благодарит за полезный инструмент! –

22

С прошивкой 8.2, теперь вы можете использовать UIFont.systemFontOfSize(_:CGFloat,weight:CGFloat):

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

IOS SDK предусмотрены константы для весов:

UIFontWeightUltraLight 
UIFontWeightThin 
UIFontWeightLight 
UIFontWeightRegular 
UIFontWeightMedium 
UIFontWeightSemibold 
UIFontWeightBold 
UIFontWeightHeavy 

Использование системы шрифтов лучше, чем создание шрифта на базе на имя шрифта, когда вы хотите использовать системные шрифты, так как iOS может изменять свои системные шрифты на iOS (например, когда они делали это с Helvetica Neue в iOS 7, а теперь, в Сан-Франциско в iOS 9).

+0

Что было лучшим способом перед использованием iOS 8.2 для использования системного шрифта? Мне было интересно, как использовать 'systemFontOfSize', а также использовать некоторые шрифты-шрифты helvetica !? –

+0

Вы можете использовать инициализатор 'UIFont',' init? (Name fontName: String, size fontSize: CGFloat) -> UIFont'. Вы должны использовать имя шрифта для необходимого веса шрифта. Все доступные имена шрифтов перечислены здесь. Http://iosfonts.com – chrisamanse

+0

Да, но потом я также столкнулся с проблемой, что это не очень хороший способ поддержать как iOS 8's HelveticaNeue, так и iOS 9 San Francisco. Я хотел бы иметь 2 спецификации шрифта для обеих версий ОС в одном приложении. Это совсем не практично. –

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 
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)! 
    } 
} 
Смежные вопросы