Tidak ada yang salah dengan jawaban lainnya. Saya hanya membagikan versi storyboard untuk mengatur font.
1. Pilih Bilah Navigasi Anda dalam Pengontrol Navigasi Anda
2. Ubah Font Judul di Attributes Inspector
(Anda mungkin perlu mengubah Warna Bar untuk Bar Navigasi sebelum Xcode mengambil font baru)
Catatan (Peringatan)
Diverifikasi bahwa ini berfungsi pada Xcode 7.1.1+. ( Lihat Sampel di bawah )
- Anda perlu mengganti warna bilah navigasi sebelum font diterapkan (sepertinya ada bug di Xcode; Anda dapat mengubahnya kembali ke default dan font akan tetap)
- Jika Anda memilih font sistem ~ Pastikan ukurannya bukan 0,0 (Jika tidak, font baru akan diabaikan)
- Sepertinya ini berfungsi tanpa masalah saat hanya satu NavBar yang ada dalam hierarki tampilan. Tampaknya NavBars sekunder dalam tumpukan yang sama diabaikan. (Perhatikan bahwa jika Anda menampilkan navBar pengontrol navigasi master, semua pengaturan navBar kustom lainnya akan diabaikan).
Gotchas (deux)
Beberapa di antaranya diulang yang artinya sangat mungkin perlu diperhatikan.
- Terkadang storyboard xml rusak. Ini mengharuskan Anda untuk meninjau struktur di Storyboard sebagai mode Kode Sumber (klik kanan file storyboard> Buka Sebagai ...)
- Dalam beberapa kasus, tag navigationItem yang terkait dengan atribut runtime yang ditentukan pengguna disetel sebagai turunan xml dari tag tampilan, bukan tag pengontrol tampilan. Jika demikian, hapus dari antara tag untuk pengoperasian yang benar.
- Alihkan Warna NavBar untuk memastikan font kustom digunakan.
- Verifikasi parameter ukuran font kecuali menggunakan gaya font dinamis
- Tampilan hierarki akan menimpa pengaturan. Tampaknya satu font per tumpukan dimungkinkan.
Hasil
Sampel
Menangani Font Kustom
Catatan ~ Daftar periksa yang bagus dapat ditemukan dari situs web Code With Chris dan Anda dapat melihat proyek unduhan sampel.
Jika Anda memiliki font Anda sendiri dan ingin menggunakannya di storyboard Anda, maka ada serangkaian jawaban yang layak untuk Pertanyaan SO berikut . Satu jawaban mengidentifikasi langkah-langkah ini.
- Dapatkan Anda file font khusus (.ttf, .ttc)
- Impor file font ke proyek Xcode Anda
- Di app-info.plist, tambahkan kunci bernama Font yang disediakan oleh aplikasi. Ini adalah tipe array, tambahkan semua nama file font Anda ke array, catatan: termasuk ekstensi file.
- Di storyboard, pada NavigationBar pergi ke Attribute Inspector, klik tombol ikon kanan dari area Font select. Di panel popup, pilih Font to Custom, dan pilih Family of you embeded font name.
Solusi Font Kustom
Jadi Xcode secara alami terlihat seperti dapat menangani font khusus pada UINavigationItem tetapi fitur itu tidak diperbarui dengan benar (Font yang dipilih diabaikan).
Untuk mengatasinya:
Salah satu caranya adalah memperbaiki penggunaan storyboard dan menambahkan sebaris kode: Pertama, tambahkan UIView (UIButton, UILabel, atau subkelas UIView lainnya) ke View Controller (Bukan Item Navigasi ... Xcode saat ini tidak mengizinkan seseorang untuk melakukannya bahwa). Setelah Anda menambahkan kontrol, Anda dapat memodifikasi font di storyboard dan menambahkan referensi sebagai outlet untuk Pengontrol Tampilan Anda. Cukup tetapkan tampilan itu ke UINavigationItem.titleView. Anda juga dapat mengatur nama teks dalam kode jika perlu. Bug yang Dilaporkan (23600285).
@IBOutlet var customFontTitleView: UIButton!
//Sometime later...
self.navigationItem.titleView = customFontTitleView