Установите "SF UI Display Bold" в качестве шрифта ярлыка

У меня проблема с установкой шрифта моей метки на SF UI Display Bold.

Я не хочу устанавливать эту прочность, только если логическое значение false.

if (value.messageReaded == false) {
    cell.subjectLabel?.font = UIFont(name:"SF UI Display Bold", size: 17.0)
}

К сожалению, мой подход не работает с этим шрифтом.

Кто-нибудь из вас знает правильное название шрифта "SF UI Display Bold" в swift?

Спасибо!

Ответ 1

Теоретически вы можете использовать шрифт, вызывая его имя напрямую. Имя шрифта для этого шрифта .SFUIDisplay-Bold.

Однако Apple не одобряет такой подход и говорит, что эти имена шрифтов являются частными и могут быть изменены в любое время.

Официальный способ использования шрифтов San Francisco - это вызов systemFont который автоматически предоставляет вам шрифт San Francisco:

let font = UIFont.systemFont(ofSize: 17)

Чтобы получить более светлый или жирный шрифт, вы можете запросить вес шрифта:

let mediumFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.medium)
let lightFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.light)
let boldFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.bold)

Существует тонна веса шрифтов на выбор:

UIFont.Weight.ultraLight
UIFont.Weight.thin
UIFont.Weight.light
UIFont.Weight.regular
UIFont.Weight.medium
UIFont.Weight.semibold
UIFont.Weight.bold
UIFont.Weight.heavy
UIFont.Weight.black

Ответ 2

Согласно обновленному ответу Джерна на Swift 4:

let font = UIFont.systemFont(ofSize: 17)
let mediumFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.medium)
let lightFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.light)
let boldFont = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.bold)

Также смотрите документацию Apple