Быстрые пользовательские шрифты 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)
Ответы
Ответ 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]()