Bagaimana cara mengubah warna Bilah Navigasi di iOS 7?
Pada dasarnya saya ingin mencapai sesuatu seperti Twitter Nav Bar (Twitter yang diperbarui untuk iOS7
itu). Saya tertanam-dalam bilah nav di atas a view controller
. Yang saya inginkan adalah mengubah warna bilah nav menjadi biru muda bersama dengan bilah utilitas di bagian atas. Saya tidak dapat menemukan opsi di blog saya storyboard
.
ios
ios7
storyboard
uikit
uinavigationbar
Patricio Guerra
sumber
sumber
Jawaban:
Perilaku
tintColor
untuk bilah telah berubah di iOS 7.0. Tidak lagi memengaruhi latar belakang bilah.Dari dokumentasi:
Referensi Kelas barTintColor
Warna rona untuk diterapkan pada latar belakang bilah navigasi.
Diskusi
Warna ini dibuat transparan secara default kecuali jika Anda menyetel properti transparan ke
NO
.Ketersediaan
Tersedia di iOS 7.0 dan yang lebih baru.
Dinyatakan dalam
UINavigationBar.h
Kode
Kami juga dapat menggunakan ini untuk memeriksa Versi iOS sebagaimana disebutkan dalam Panduan Transisi UI iOS 7
EDIT Menggunakan xib
sumber
Melakukan apa yang diajukan pertanyaan asli — untuk mendapatkan tampilan Nav Bar Twitter lama, latar belakang biru dengan teks putih — sangat mudah dilakukan hanya dengan menggunakan Interface Builder di Xcode.
Itu akan membuat Anda mendapatkan apa yang Anda inginkan. Berikut adalah tangkapan layar yang akan membuatnya lebih mudah untuk melihat di mana membuat perubahan.
Perhatikan bahwa mengubah hanya Bilah Warna tidak mengubah warna teks di Bilah Navigasi atau Bilah Status. Gaya juga perlu diubah.
sumber
Default
danBlack
masih tersedia di iOS 9. Yang sudah usang adalahBlackOpaque
danBlackTranslucent
, yang digantikan oleh kombinasiBlack
gaya dan kotak centang Translucent. UIBarStyle di situs web pengembang Applesumber
Di aplikasi berbasis Navigasi, Anda dapat memasukkan kode di AppDelegate. Kode yang lebih rinci dapat berupa:
sumber
[[UINavigationBar appearance] setBarTintColor:[UIColor barColor]];
untuk iOS 7Di
viewDidLoad
, atur:Ubah (
blueColor
) ke warna apa pun yang Anda suka.sumber
Untuk perubahan cepat warna bilah navigasi:
ganti font judul, ukuran, warna:
sumber
Di iOS 7 Anda harus menggunakan properti -barTintColor:
sumber
Jika Anda ingin menggunakan kode hex, berikut adalah cara terbaik untuk melakukannya.
Pertama, tentukan ini di bagian atas kelas Anda:
Kemudian di dalam "aplikasi didFinishLaunchingWithOptions", masukkan ini:
Memberi Anda kode hex menggantikan 00b0f0.
sumber
Jika Anda perlu mendukung ios6 dan ios7 maka Anda mendapatkan warna biru muda menggunakan ini di UIViewController Anda :
sumber
Ini sebenarnya lebih mudah daripada jawaban yang saya lihat di sini:
Saya harap ini membantu seseorang. Saya tidak suka jawaban yang saya lihat. Saya suka menjaga kode saya sebersih mungkin. Tidak mengatakan bahwa itu salah untuk melakukannya secara terprogram, tetapi ada orang di luar sana seperti saya .... ini untuk kalian.
sumber
Untuk melengkapi kode Rajneesh071, Anda mungkin juga ingin mengatur warna judul bilah navigasi (dan font, jika Anda mau) karena perilaku default berubah dari iOS 6 menjadi 7:
sumber
Tambahkan hanya kode ini di Anda
ViewContorller
atau di AndaAppDelegate
sumber
sumber
Dalam aplikasi berbasis navigasi Anda dapat mengubah warna
sumber
sumber
Pertanyaan ini dan jawaban ini sangat membantu. Dengan mereka saya dapat mengatur
navigationBar
warna biru tua yang saya inginkan dengan judul putih dan teks tombol.Tapi saya juga perlu mengubah jam, carrier, kekuatan sinyal, dll menjadi putih. Hitam tidak cukup kontras dengan biru tua.
Saya mungkin telah diabaikan solusi yang di salah satu jawaban sebelumnya, tapi saya bisa melakukan perubahan itu dengan menambahkan baris ini ke tingkat atas saya
viewController
'sviewDidLoad
:sumber
UIStatusBarStyleLightContent
berfungsi, tetapi tampaknya enum yang tepatsetBarStyle:
adalahUIBarStyleBlack
sumber
Untuk Warna:
Untuk Gambar
sumber