他の回答に問題はありません。フォントを設定するためのストーリーボード バージョンを共有しているだけです。
1. ナビゲーション コントローラー内のナビゲーション バーを選択します。
2.属性インスペクターでタイトルのフォントを変更する
(Xcode が新しいフォントを取得する前に、Navigation Bar の Bar Tint を切り替える必要がある可能性があります)
注意事項(注意事項)
これが Xcode 7.1.1+ で動作することを確認しました。(以下のサンプルを参照してください)
- フォントが有効になる前に、ナビゲーション バーの色合いを切り替える必要があります (Xcode のバグのようです。デフォルトに戻すと、フォントが固定されます)。
- システム フォントを選択する場合 ~ サイズが 0.0 でないことを確認してください (そうでない場合、新しいフォントは無視されます)
- ビュー階層に NavBar が 1 つしかない場合、これは問題なく動作するようです。同じスタック内のセカンダリ NavBars が無視されるようです。(マスター ナビゲーション コントローラーの navBar を表示すると、他のすべてのカスタム navBar 設定が無視されることに注意してください)。
ガッチャ (deux)
これらのいくつかは繰り返されているため、注目に値する可能性が非常に高い.
- ストーリーボード xml が破損することがあります。これには、Storyboard as Source Code モードで構造を確認する必要があります (Storyboard ファイルを右クリック > Open As ...)。
- 場合によっては、ユーザー定義のランタイム属性に関連付けられた navigationItem タグが、ビュー コントローラー タグではなく、ビュー タグの xml 子として設定されていました。その場合は、適切な操作のためにタグの間から取り外してください。
- NavBar Tint を切り替えて、カスタム フォントが使用されるようにします。
- ダイナミック フォント スタイルを使用していない場合は、フォントのサイズ パラメータを確認します
- ビュー階層は設定を上書きします。スタックごとに 1 つのフォントが可能であるようです。
結果
サンプル
カスタム フォントの処理
注 ~ Code With Chris の Web サイトには便利なチェックリストがあり、サンプル ダウンロード プロジェクトを参照できます。
独自のフォントがあり、それをストーリーボードで使用したい場合は、次のSO Questionに適切な回答のセットがあります。1 つの答えは、これらのステップを識別します。
- カスタム フォント ファイル (.ttf、.ttc) を取得します。
- フォント ファイルを Xcode プロジェクトにインポートする
- app-info.plist で、アプリケーションによって提供される Fonts という名前のキーを追加します。これは配列タイプであり、すべてのフォント ファイル名を配列に追加します。注: ファイル拡張子を含みます。
- ストーリーボードで、NavigationBar の属性インスペクターに移動し、フォント選択領域の右のアイコン ボタンをクリックします。ポップアップ パネルで、フォントをカスタムに選択し、埋め込まれたフォント名のファミリーを選択します。
カスタム フォントの回避策
したがって、Xcode は UINavigationItem でカスタム フォントを処理できるように自然に見えますが、その機能は適切に更新されていません (選択されたフォントは無視されます)。
これを回避するには:
1 つの方法は、ストーリーボードを使用して修正し、コード行を追加することです。まず、UIView (UIButton、UILabel、またはその他の UIView サブクラス) を View Controller (Navigation Item ではありません...Xcode では現在許可されていません) に追加します。それ)。コントロールを追加した後、ストーリーボードでフォントを変更し、View Controller へのアウトレットとして参照を追加できます。そのビューを UINavigationItem.titleView に割り当てるだけです。必要に応じて、コードでテキスト名を設定することもできます。報告されたバグ (23600285)。
@IBOutlet var customFontTitleView: UIButton!
//Sometime later...
self.navigationItem.titleView = customFontTitleView