Swift自定义字体Xcode

ifsvaxew  于 2023-01-12  发布在  Swift
关注(0)|答案(5)|浏览(354)

我正在创建一个游戏在Xcode(版本7.0测试版)使用斯威夫特,我想显示标签“游戏结束”在游戏结束的字体“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)
qnakjoqk

qnakjoqk1#

以下是向应用程序添加自定义字体的步骤:
1.在应用程序中添加“gameOver.ttf”字体(Make sure that it's included in the target
1.修改应用程序信息.plist文件。
1.在新行中添加关键字 *“应用程序提供的字体”
1.并将“gameOver.ttf”作为新项添加到数组 “应用程序提供的字体” 中。
现在字体将在界面生成器中可用。要在代码中使用自定义字体,我们需要通过名称引用它,但名称通常与字体的文件名不同
有两种方法可以查找名称:
1.在Mac上安装字体:打开“字体册”,打开字体,查看列出的名称。
1.以编程方式列出应用程序中的可用字体
对于第二种方法,添加以下行:应用程序委托的didFinishLaunchingWithOptions

print(UIFont.familyNames)

要列出每个字体系列中包含的字体,在Swift 5中:

func printFonts() {
    for familyName in UIFont.familyNames {
        print("\n-- \(familyName) \n")
        for fontName in UIFont.fontNames(forFamilyName: 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

Useful resource

zc0qhyus

zc0qhyus2#

**Swift 4和5。**我已经为应用程序字体创建了一个枚举。首先通过双击所需的字体在系统上安装字体。然后安装的字体将出现在属性检查器中的自定义字体下。

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)
aydmsdu9

aydmsdu93#

沿着上面的答案,我还想补充一个关于将自定义字体安装到Xcode的答案,Xcode可以访问Mac以及Mac。
1. Select and download your favourite font styles from here

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

就是这样:)
请注意所附的图片,以获得更多参考:

字体Lato出现在Xcode工作区

llycmphe

llycmphe4#

如果您需要将其添加到您的应用程序中,您还必须关闭XCode并再次打开它,以便新添加的字体可以在添加到info.plist后显示在字体下拉列表中。
在这里查看他们的官方文件:https://developer.apple.com/documentation/uikit/text_display_and_fonts/adding_a_custom_font_to_your_app

4jb9z9bj

4jb9z9bj5#

什么解决了我的问题:
即使您将.ttf字体文件放在子目录中,在Info.plist文件中,也要确保仅使用“filename. ttf”来引用该文件。不要在文件路径中添加子目录名称,例如“subdirectory/filename.ttf”

相关问题