web-dev-qa-db-ja.com

SwiftカスタムフォントXcode 7

Swiftを使用してXcode(バージョン7.0ベータ)でゲームを作成していますが、ゲームの最後に「gameOver.ttf」というフォントで「Game Over」というラベルを表示したいと思います。リソースフォルダにフォントを追加しました。私のコードでそれを参照する方法がわかりません。助けてもらえますか?私のコード:

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)
22
theenigma

アプリケーションにカスタムフォントを追加する手順は次のとおりです。

  1. アプリケーションに「gameOver.ttf」フォントを追加します( ターゲットに含まれていることを確認してください
  2. Application-info.plistファイルを変更します。
  3. キー "アプリケーションによって提供されるフォント"を新しい行に追加します
  4. そして、配列に新しい項目として「gameOver.ttf」を追加します「アプリケーションが提供するフォント」

これで、Interface Builderでフォントが利用可能になります。コードでカスタムフォントを使用するには、名前で参照する必要がありますが、多くの場合、名前はフォントのファイル名と同じではありません

名前を見つけるには2つの方法があります。

  1. Macにフォントをインストールします。 Font Bookを開き、フォントを開いて、リストされている名前を確認します。
  2. アプリで利用可能なフォントをプログラムでリストする

2番目のアプローチでは、この行をアプリのデリゲートの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 

有用なリソース

67
Aladin

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)
1
Gurjinder Singh

上記の回答に加えて、MacだけでなくMACにもアクセスできるXcodeへのカスタムフォントのインストールに関する別の回答を追加したいと思います。

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

XcodeワークスペースにFont Latoが登場

enter image description here

0