Как использовать системный шрифт с атрибутированной строкой?

let attributedText: NSMutableAttributedString = NSMutableAttributedString(string: text, attributes: [NSFontAttributeName: UIFont(name: "San Francisco", size: 14.0)!])

Используя приведенный выше код, когда я запускаю свое приложение, оно падает, потому что не может найти шрифт «Сан-Франциско». Но разве это не системный шрифт для iOS 9? Как я могу использовать системный шрифт в строке с атрибутами?

Я использую Swift 2.2


person Schuey999    schedule 25.03.2016    source источник


Ответы (1)


Вы можете создать шрифт с помощью системных конструкторов:

var foo = UIFont.systemFontOfSize(fontSize: CGFloat)
person BaseZen    schedule 26.03.2016
comment
Я только что скачал шрифт SF с сайта Apple, и похоже, что он работает. - person Schuey999; 26.03.2016
comment
Но это на самом деле отвечает на ваш вопрос. В iOS8 и более ранних версиях системным шрифтом является не San Francisco, а Helvetica Neue Light. Зависит от вашей цели. - person BaseZen; 26.03.2016
comment
истинный. Мое приложение поддерживает только ios8, поэтому я могу просто добавить оператор if. Но я посмотрю, что делает ваш код! - person Schuey999; 26.03.2016
comment
да, ваш код работает намного лучше, чем я думал! Спасибо! - person Schuey999; 26.03.2016