Saya memiliki beberapa View Controllers dan saya ingin mengatur warna font semuanya menjadi merah.
[[UINavigationBar appearance] setFont:[UIFont boldSystemFontOfSize:12.0]];
melempar kesalahan pemilih yang tidak dikenal.
Bagaimana cara memperbaikinya?
ios5
uinavigationbar
uiappearance
carbonr
sumber
sumber
Jawaban:
Dari Ray Wenderlich:
http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
Atau jika Anda lebih suka dengan gaya literal objek:
Edit untuk iOS 7 dan setelahnya
UITextAttributes tidak digunakan lagi karena iOS 7 Anda dapat menggunakan yang berikut ini:
sumber
if ([navBarInstance respondsToSelector:@selector(appearance)])
terlebih dahulu karena itu akan merusak versi iOS di bawah 5.UITextAttributeTextColor
tidak digunakan lagi dan mendukungNSForegroundColorAttributeName
di iOS 7Untuk target penerapan yang lebih besar dari atau sama dengan iOS 6, Anda harus menggunakan
NSShadow
:sumber
Melakukan ini di iOS 8+ dan di Swift. Tidak ada
setTitleTextAttributes
untuk objek penampilan. Sebaliknya, lakukan ini:sumber
Saya melakukan ini dengan menambahkan hanya beberapa baris kode di kelas AppDelegate.m metode didFinishLaunchingWithOptions: Gunakan kode ini:
itu berhasil untuk saya ...
sumber
Jika Anda perlu melakukan ini di Swift, Anda dapat membuat ekstensi untuk UINavigationBar untuk memungkinkan Anda mendapatkan atau menyetel pengaturan ini.
Anda kemudian dapat mengatur warna dan font seperti ini:
sumber
titleColor
atau satutitleFont
per satu. Jika Anda menggunakannya bersama-sama, nilaiself.titleTextAttributes
akan disetel ke nilai baru setiap kali salah satu variabel dipanggil. Penyetel mungkin bisa mendapatkan nilai lain saat membuat kamus baru.Ini dapat digunakan untuk menyetel tampilan kustom ke satu navigationBar alih-alih pengaturan global
sumber
Gunakan baris kode ini
Saya pikir ini akan membantu Anda.
sumber