Пользовательский шрифт в Swift 5 не работает в Xcode 10 - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь добавить пользовательские шрифты в Xcode 10 и продолжаю получать эту ошибку:

Неустранимая ошибка: неожиданно обнаружен ноль при развертывании дополнительного значения

  • Я включил шрифты в свой Info.plist
  • Я проверил свои «Копирование ресурсов комплекта» и он есть.

Я все еще получаю эту ошибку.

Это мой код ниже:

DispatchQueue.main.async {
    let paragraph = NSMutableParagraphStyle()
    paragraph.alignment = .center

    let attributedString = NSAttributedString(string: message, attributes:
        [.paragraphStyle: paragraph, NSAttributedString.Key.font : UIFont (name: "Lato-Regular", size: 14)!]) // Throws error here

    let alert = UIAlertController(title: title, message: "", preferredStyle: .alert)
    alert.setValue(attributedString, forKey: "attributedMessage")

    alert.addAction(UIAlertAction(title: "Back", style: .cancel, handler: nil))
    self.present(alert, animated: true)
}

Выдает ошибку в этой строке

UIFont (name: "Lato-Regular", size: 14)!

Xcode не может найти шрифт, но я также могу использовать шрифт в пользовательском интерфейсе раскадровки.Так как получилось?

1 Ответ

0 голосов
/ 22 мая 2019

UIFont.familyNames предоставит вам список всех доступных семейств шрифтов.UIFont.fontNames(forFamilyName:) даст вам все названия шрифтов.Используйте это, чтобы узнать правильное название вашего шрифта.

let families = UIFont.familyNames
let allFonts = families.flatMap { UIFont.fontNames(forFamilyName:$0) }
let latoFonts = allFonts.filter { $0.contains("Lato") }
print(latoFonts)

...