Как изменить стиль шрифта в Swift

Я пытаюсь выяснить, как изменить стиль шрифта на "тонкие". Кто-нибудь знает, как это сделать?

вот моя лучшая попытка, но он не работает:

m.font = UIFont(name: "Apple SD Gothic Neo", style: "Thin", size: 8.0)

5 ответов


то, как я это видел,AppleSDGothicNeo-Thin, нет пробелов и стиль тире. Таким образом, ваш код будет

m.font = UIFont(name: "AppleSDGothicNeo-Thin", size: 8.0)

Edit:

Я пришел к пониманию, почему вы используете шрифт таким образом.

Если вы добавляете пользовательский шрифт в свой проект, он имеет имя "SuperAwesomeFont-Light.ТЦФ." Поэтому имеет смысл просто использовать имя файла для имени шрифта.


у вас проблемы с именем шрифта.

сначала узнайте собственное имя шрифта и используйте его.

во-первых, распечатать все имена из них. А потом использовать. Пример кода показать все установленные шрифты приложения.

func printFonts() {
    let fontFamilyNames = UIFont.familyNames()
    for familyName in fontFamilyNames {
        print("------------------------------")
        print("Font Family Name = [\(familyName)]")
        let names = UIFont.fontNamesForFamilyName(familyName)
        print("Font Names = [\(names)]")
    }
}

и после обнаружения шрифта вы можете установить это как :

m.font = UIFont(name: "AppleSDGothicNeo-Thin", size: 8.0)

Это может сработать:

let font = UIFont(name: "HelveticaNeue-Thin", size: 16.0)!

поместите это в playground, чтобы получить все правильные имена шрифтов, доступных (обновлено для Swift 3.0 на основе Олега)

//: Playground - noun: a place where people can play

import UIKit

func printFonts() {
    let fontFamilyNames = UIFont.familyNames
    for familyName in fontFamilyNames {
        print("------------------------------")
        print("Font Family Name = [\(familyName)]")
        let names = UIFont.fontNames(forFamilyName: familyName)
        print("Font Names = [\(names)]")
    }
}

printFonts()

lblDes.шрифт = UIFont (название: "HelveticaNeue-UltraLight", размер: 14.0)