Saya mencoba mengubah warna tombol Pengaturan menjadi putih, tetapi tidak bisa mengubahnya.
Saya sudah mencoba keduanya:
navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor()
navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor()
tapi tidak ada perubahan, masih terlihat seperti ini:
Bagaimana cara membuat tombol itu putih?
ios
swift
uinavigationbar
uibarbuttonitem
backbarbuttonitem
Brandon Evans
sumber
sumber
AppDelegate.swift > application(application:didFinishLaunchingWithOptions:)
Anda dapat menulis:self.window!.tintColor = .yourColor
Kode ini mengubah warna panah
Jika ini tidak berhasil, gunakan kode di bawah ini:
Swift 3 Notes
UIColor.whiteColor()
dan yang serupa telah disederhanakanUIColor.white
Selain itu, banyak opsional yang sebelumnya implisit telah diubah menjadi eksplisit, jadi Anda mungkin perlu:
sumber
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
bekerja untuk saya (Swift 2.2)Sangat mudah dipasang di storyboard:
sumber
Anda harus menggunakan ini:
sumber
Cepat
sumber
Anda bisa menggunakan seperti ini. Tempatkan di dalam
AppDelegate.swift
.sumber
Cepat 4.2
Ubah tema aplikasi lengkap
Ubah pengontrol spesifik
sumber
UINavigationController
?Di Swift3 , Untuk mengatur tombol Kembali ke
red
.sumber
Di Swift 4, Anda bisa mengatasi masalah ini menggunakan:
sumber
Cepat 3
Jawaban yang paling banyak dipilih tidak tepat untuk Swift 3.
Kode yang benar untuk mengubah warna adalah:
Jika Anda ingin mengubah warna, ubah UIColor. Putih di atas ke warna yang diinginkan
sumber
Semua jawaban yang
UINavigationBar.appearance().tintColor
bertentangan dengan dokumentasi Apple diUIAppearance.h
.Di Xcode, Anda perlu mengklik perintah pada setiap properti yang ingin Anda gunakan dengan proxy penampilan untuk memeriksa file header dan memastikan properti tersebut dijelaskan
UI_APPEARANCE_SELECTOR
.Jadi cara yang benar untuk mewarnai bilah navigasi ungu dan judul dan tombol putih di seluruh aplikasi melalui proksi penampilan adalah:
Perhatikan bahwa
UIBarButtonItem
ini bukan subkelasUIView
melainkanNSObject
. Jadi yangtintColor
properti tidak mewarisitintColor
dariUIView
.Sayangnya,
UIBarButtonItem.tintColor
tidak dijelaskan denganUI_APPEARANCE_SELECTOR
- tetapi menurut saya bug dokumentasi. Tanggapan dari Apple Engineering dalam radar ini menyatakan itu didukung.sumber
Cuplikan ini melakukan keajaiban. Alih-alih redColor, ubahlah sesuai keinginan Anda.
sumber
Gunakan kode ini di
AppDelegate
kelas, di dalamdidFinishLaunchingWithOptions
.sumber
Mari kita coba kode ini:
sumber
dalam penggunaan cepat 2.0
sumber
Jika Anda sudah memiliki tombol kembali di pengontrol tampilan "Pengaturan" dan Anda ingin mengubah warna tombol kembali pada pengontrol tampilan "Informasi Pembayaran" menjadi sesuatu yang lain, Anda dapat melakukannya di dalam pengaturan "Pengaturan" lihat pengontrol tampilan untuk segue seperti ini :
sumber
Ini berfungsi untuk saya, iOS 9.0+
sumber
Tambahkan kode berikut ke fungsi didFinishLaunchingWithOptions di AppDelegate.swift
sumber
Untuk Swift 2.0, Untuk mengubah warna warna Navigasi-bar , teks judul dan warna belakang tombol berubah dengan menggunakan yang berikut ini di AppDelegate.swift
sumber
Tidak yakin mengapa tidak ada yang menyebutkan ini ... tapi saya melakukan persis apa yang Anda lakukan di
viewDidLoad
... dan itu tidak berhasil. Lalu saya menempatkan kode saya keviewWillAppear
dan semuanya bekerja.Solusi di atas adalah mengubah barbuttonItem tunggal . Jika Anda ingin mengubah warna untuk setiap navigasiBar dalam kode Anda, ikuti jawaban ini .
Pada dasarnya mengubah ke kelas itu sendiri menggunakan
appearance()
seperti membuat perubahan global pada semua contoh tampilan itu di aplikasi Anda. Untuk lebih lanjut lihat di sinisumber
Anda punya satu pilihan untuk menyembunyikan tombol kembali dan membuatnya dengan diri Anda sendiri. Kemudian atur warnanya.
Saya melakukan itu:
sumber
Ini akan diselesaikan dengan baris ini di - (void) viewDidLoad:
sumber
(lldb) p self.navigationItem.backBarButtonItem (UIBarButtonItem *) $9 = nil (lldb)
Anda harus menambahkan baris ini
sumber
Saya lebih suka NavigationController khusus daripada mengatur ui global, atau memasukkan ViewController.
Ini solusinya
Anda juga tidak perlu repot - repot dengan Apple Api seperti EKEventEditViewController , PickerViewController dan sebagainya jika Anda menggunakan pengaturan global seperti
UIBarButtonItem.appearance().tintColor = .white
sumber
sumber