Swift自定义字体Xcode [英] Swift Custom Fonts Xcode
问题描述
我正在使用Swift在Xcode(版本7.0 Beta)中创建游戏,我想在游戏结束时以字体"gameOver.ttf"显示标签"Game Over".我已将字体添加到资源文件夹中.我不知道如何在我的代码中引用它.我可以帮忙吗? 我的代码:
I am creating a game in Xcode (Version 7.0 Beta) using Swift, and I would like to display the label "Game Over" at the end of the game in the font "gameOver.ttf". I have added the font to my resources folder. I do not know how to reference it in my code. Can I please get help? My Code:
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)
推荐答案
以下是向您的应用程序添加自定义字体的步骤:
These are the steps to add a custom font to you application:
- 在应用程序中添加"gameOver.ttf"字体(确保已将其包含在目标中)
- 修改application-info.plist文件.
- 在新行中添加键应用程序提供的字体"
- 并在数组应用程序提供的字体" 中将"gameOver.ttf"添加为新项.
- Add "gameOver.ttf" font in your application ( Make sure that it's included in the target)
- Modify the application-info.plist file.
- Add the key "Fonts provided by application" in a new row
- and add "gameOver.ttf" as new item in the Array "Fonts provided by application".
现在,该字体将在Interface Builder中可用. 要在代码中使用自定义字体,我们需要按名称进行引用,但名称通常与字体的文件名不同
Now the font will be available in Interface Builder. To use the custom font in code we need to refer to it by name, but the name often isn’t the same as the font’s filename
有两种查找名称的方法:
There are 2 ways to find the name:
- 在Mac上安装字体.打开字体书,打开字体,然后查看 列出了什么名字.
- 以编程方式列出您应用中的可用字体
- Install the font on your Mac. Open Font Book, open the font and see what name is listed.
- Programmatically list the available fonts in your app
对于第二种方法,添加此行是您的应用程序代表的didFinishLaunchingWithOptions
for the second approach add this line is your app delegate’s didFinishLaunchingWithOptions
print(UIFont.familyNames)
要列出每个字体家族中包含的字体,在Swift 5中:
To list the fonts included in each font family, in Swift 5:
func printFonts() {
for familyName in UIFont.familyNames {
print("\n-- \(familyName) \n")
for fontName in UIFont.fontNames(forFamilyName: familyName) {
print(fontName)
}
}
}
找到自定义字体的名称后,您可以像这样使用它:
after finding the name of your custom font you may use it like this:
SKLabelNode(fontNamed: "gameOver") // put here the correct font name
或在简单标签中:
cell.textLabel?.font = UIFont(name: "gameOver", size: 16) // put here the correct font name
这篇关于Swift自定义字体Xcode的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!