Подтвердить что ты не робот

Быстрые пользовательские шрифты Xcode 7

Я создаю игру в Xcode (версия 7.0 Beta) с помощью Swift, и я бы хотел отобразить надпись "Game Over" в конце игры в шрифте "gameOver.ttf". Я добавил шрифт в папку моих ресурсов. Я не знаю, как ссылаться на него в моем коде. Могу ли я получить помощь? Мой код:

let label = SKLabelNode(fontNamed: "gameOver")
    label.text = "Game Over"
    label.fontColor = SKColor.redColor()
    label.fontSize = 150
    label.position = CGPointMake(0, 100)
    label.horizontalAlignmentMode = .Center
    node.addChild(label)
4b9b3361

Ответ 1

Это шаги для добавления пользовательского шрифта в ваше приложение:

  • Добавьте в приложение шрифт "gameOver.ttf" (Убедитесь, что он включен в цель)
  • Измените файл application-info.plist.
  • Добавить ключ "Шрифты, предоставляемые приложением" в новой строке
  • и добавьте "gameOver.ttf" в качестве нового элемента в массиве "Шрифты, предоставляемые приложением".

Теперь шрифт будет доступен в Interface Builder. Чтобы использовать пользовательский шрифт в коде, нам нужно ссылаться на него по имени, но имя часто не совпадает с именем файла fonts

Есть два способа найти имя:

  • Установите шрифт на свой Mac. Откройте книгу шрифтов, откройте шрифт и посмотрите какое имя указано.
  • Программный список доступных шрифтов в вашем приложении

для второго подхода добавьте эту строку в список делегатов вашего приложения didFinishLaunchingWithOptions

println(UIFont.familyNames())

Чтобы перечислить шрифты, включенные в каждое семейство шрифтов, в swift 2:

class func printFonts() {
    for familyName in UIFont.familyNames() {
        print("\n-- \(familyName) \n")
        for fontName in UIFont.fontNamesForFamilyName(familyName) {
            print(fontName)
        }
    }
}

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

SKLabelNode(fontNamed: "gameOver") // put here the correct font name

или в простой метке:

cell.textLabel?.font = UIFont(name: "gameOver", size: 16) // put here the correct font name 

Полезный ресурс

Ответ 2

Swift 4 и 5. Я создал перечисление для шрифтов приложений. Сначала установите шрифты в системе, дважды щелкнув по нужному шрифту. Затем установленный шрифт появится в разделе "Пользовательские шрифты" в Инспекторе атрибутов.

enter image description here

import Foundation
import UIKit

private let familyName = "Montserrat"

enum AppFont: String {
    case light = "Light"
    case regular = "Regular"
    case bold = "Bold"

    func size(_ size: CGFloat) -> UIFont {
        if let font = UIFont(name: fullFontName, size: size + 1.0) {
            return font
        }
        fatalError("Font '\(fullFontName)' does not exist.")
    }
    fileprivate var fullFontName: String {
        return rawValue.isEmpty ? familyName : familyName + "-" + rawValue
    }
}

использование

self.titleLabel?.font = AppFont.regular.size(12.0)

Ответ 3

Наряду с приведенным выше ответом, я хотел бы добавить еще один ответ об установке пользовательских шрифтов в Xcode, который может быть доступ к Mac, а также MAC.

1. Выберите и загрузите ваши любимые стили шрифтов отсюда

2. Unzip the download folder and select all the fonts from folder and double tap to open

3. Pop up appears to select all the fonts > check all and install

4. Open Xcode, one can see from Attribute inspector for selected label

Все это :)

Следите за приложенным фото для получения дополнительной ссылки:

enter image description here

Шрифт Lato появился в рабочем пространстве Xcode

enter image description here