Saya ingin mengubah item tab bar saya menjadi merah muda ketika dipilih, bukan biru default.
Bagaimana saya bisa melakukan ini menggunakan editor storyboard di Xcode 6?
Berikut adalah pengaturan saya saat ini yang tidak berfungsi, latar belakang biru berfungsi tetapi pink tidak berfungsi:
Jawaban:
Tambahkan atribut Warna Runtime bernama "tintColor" dari StoryBoard. Ini berfungsi ( untuk Xcode 8 ke atas ).
jika Anda ingin warna yang tidak dipilih .. Anda dapat menambahkan
unselectedItemTintColor
juga.sumber
UITabBarItem
, padaUINavigationController
terhubung ke tabBar saya dan itu berfungsi dengan sempurna. Semua tanpa menulis kode apa pun yang sangat bagus, karena saya menggunakan kembali kelas VC tiga kali. Terima kasih!Solusi elegan ini sangat cocok untuk SWIFT 3.0 , SWIFT 4.2 dan SWIFT 5.1 :
Di Papan Cerita:
Sunting: Bekerja dengan Xcode 8/10, untuk iOS 10/12 dan lebih tinggi .
sumber
Di Swift, menggunakan xcode 7 (dan lebih baru), Anda bisa menambahkan yang berikut ke file AppDelegate.swift Anda:
Ini adalah apa yang tampak seperti metode lengkap:
Pada contoh di atas item saya akan berwarna putih. "/255.0" diperlukan karena mengharapkan nilai dari 0 hingga 1. Untuk putih, saya bisa saja menggunakan 1. Tapi untuk warna lain Anda mungkin akan menggunakan nilai RGB.
sumber
Pada
Xcode8
saya telah mengubahImageTint
dari storyboard dan itu berfungsi dengan baik.Hasil:
sumber
Swift 3 | Xcode 10
Jika Anda ingin membuat semua item bar tab dengan warna yang sama (dipilih & tidak dipilih) ...
Langkah 1
Pastikan aset gambar Anda disetel ke Render As = Templat Gambar . Ini memungkinkan mereka untuk mewarisi warna.
Langkah 2
Gunakan editor papan cerita untuk mengubah pengaturan bilah tab Anda sebagai berikut:
Langkah 3
Langkah 1 & 2 akan mengubah warna untuk ikon yang dipilih. Jika Anda masih ingin mengubah warna item yang tidak dipilih, Anda harus melakukannya dalam kode. Saya belum menemukan cara untuk melakukannya melalui editor storyboard.
Buat kelas pengontrol bilah tab kustom ...
... dan tetapkan kelas khusus ke pengontrol adegan tab bar Anda.
Jika Anda mengetahui cara mengubah warna ikon yang tidak dipilih melalui editor storyboard, beri tahu saya. Terima kasih!
sumber
self.tabBar.unselectedItemTintColor = UIColor.white
self.tabBar.tintColor = #colorLiteral(red: 0.2, green: 0.7333333333, blue: 0.3450980392, alpha: 1)
Bekerja untuk sayaletakkan kode ini di viewDidLoad dari view controller yang ingin Anda ubah warnanya
sumber
Anda juga dapat mengatur warna warna bar gambar yang dipilih berdasarkan jalur kunci:
Semoga ini bisa membantu Anda !! Terima kasih
sumber
XCode 8.2, iOS 10, Swift 3: sekarang ada
unselectedItemTintColor
atribut untuktabBar
:sumber
Anda dapat mengubah warna UITabBarItem dengan storyboard tetapi jika Anda ingin mengubah warna dengan kode itu sangat mudah:
// Gunakan ini untuk mengubah warna bilah yang dipilih
// Ini untuk mengubah bilah yang tidak dipilih (iOS 10)
// Dan baris ini untuk mengubah warna semua tabbar
sumber
Entah bagaimana kami tidak dapat mengubah warna warna Tab Bar item yang dipilih menggunakan storyboard saja, maka saya menambahkan kode di bawah ini di ViewDidLoad saya, semoga ini membantu.
sumber
Tambahkan kode ini di fungsi delegasi aplikasi -did_finish_launching_with_options Anda
menempatkan RGB dari warna yang diperlukan
sumber
Ini adalah solusi di Swift 3 yang berfungsi di iOS 10:
Pertama, Anda membuat subkelas pengontrol tab bar dan menambahkannya ke pengontrol tab di storyboard Anda. Dalam
viewDidLoad()
metode ini Anda dapat menyesuaikan tab bar. Harus dinyatakan di sini bahwatintColor
atributtabBar
mewakili warna item yang dipilih bukan warna yang tidak dipilih! Untuk mengubah warna item yang tidak dipilih, saya sarankan untuk mengulang setiap item dan menggunakan warna asli dari gambar Anda, sehingga mereka tidak diterjemahkan sebagai abu-abu secara otomatis.Satu-satunya downside dengan pendekatan ini adalah bahwa gambar item Anda harus sudah memiliki warna yang Anda inginkan.
sumber
Cara terbaik ini adalah dengan mengubah
Image Tint
storyboardsumber
Anda dapat mensubklasifikasikan
UITabBarController
, dan menggantikannya dengan itu di storyboard. DalamviewDidLoad
implementasi panggilan subclass Anda ini:sumber
'UITabBar' does not have a member named 'setSelectedImageTintColor'
self.tabBar.setSelectedImageTintColor = UIColor.greenColor
tidak yakin apakah itu benar atau tidaktintColor
bukanselectedImageTintColor
, btwselectedImageTintColor
sudah usang di iOS 8.