Swift'te gezinme çubuğu rengini değiştirme


240

Kullanıcının tüm uygulama için renk temasını seçmesine izin vermek için bir Seçici Görünümü kullanıyorum.

Gezinme çubuğunun, arka planın ve muhtemelen sekme çubuğunun rengini değiştirmeyi planlıyorum (mümkünse).

Bunu nasıl yapacağımı araştırıyorum ama Swift örnekleri bulamıyorum. Herkes bana gezinme çubuğu rengini ve gezinme çubuğu metin rengini değiştirmek için kullanmam gereken kodun bir örneğini verebilir misiniz?

Seçici Görünümü ayarlandı, sadece UI renklerini değiştirmek için kod arıyorum.

Yanıtlar:


526

Gezinti çubuğu:

navigationController?.navigationBar.barTintColor = UIColor.green

GreenColor'ı istediğiniz UIColor ile değiştirin, isterseniz bir RGB de kullanabilirsiniz.

Gezinme Çubuğu Metni:

navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.orange]

OrangeColor'ı istediğiniz renkle değiştirin.

Sekme Çubuğu:

tabBarController?.tabBar.barTintColor = UIColor.brown

Sekme Çubuğu Metni:

tabBarController?.tabBar.tintColor = UIColor.yellow

Son ikisinde, brownColor ve yellowColor'u istediğiniz renkle değiştirin.


Çok teşekkürler! Denediğim şeyden çok uzak değildim ama doğru sırada işlerim yoktu.
user3746428

Emin değilim. Bir modun aksine bir itmeli segue kullanıyorsanız, aynı gezinme çubuğu olmalı, ancak tam olarak emin değilim. Afedersiniz.
trumpeter201

2
Daha yeni Xcode betalarını güncelledikten sonra, başlık metni rengini ayarlamak artık çalışmaz. titleTextAttributes, Swift'te kullanılamaz. Herhangi bir fikir?
user3746428

1
Yeni bir soru açabilir ve belki de ona bağlayabilir misiniz? Sohbet böyle bir şey için en iyi yer değil.
trumpeter201

3
Beni NSForegroundColorAttributeName öznitelik adı olarak kullanmak yapmak, ancak aksi takdirde harika buldum bulundu.
Jake Hall

90

Uygulama genelinde uygulayabileceğiniz bazı temel görünüm özelleştirmeleri şunlardır:

UINavigationBar.appearance().backgroundColor = UIColor.greenColor()
UIBarButtonItem.appearance().tintColor = UIColor.magentaColor()
//Since iOS 7.0 UITextAttributeTextColor was replaced by NSForegroundColorAttributeName
UINavigationBar.appearance().titleTextAttributes = [UITextAttributeTextColor: UIColor.blueColor()]
UITabBar.appearance().backgroundColor = UIColor.yellowColor();

UIAppearanceSwift'teki API hakkında daha fazla bilgiyi buradan okuyabilirsiniz: https://developer.apple.com/documentation/uikit/uiappearance


Peki bunu tüm uygulamanın gezinme çubuğunun rengini değiştirmek için nasıl kullanırım? Şu anda ben sadece: self.navigationController.navigationBar.barTintColor = UIColor.newBlueColor () ve tabii ki bu sadece kodun içindeki görünüm denetleyicisinin gezinme çubuğunun rengini değiştirir. Tüm gezinme çubuklarını değiştirmek için nasıl kullanabilirim? Kullanmayı denedim: UINavigationBar.appearance (). BackgroundColor = UIColor.newBlueColor () ama hiçbir şey yapmıyor gibi görünüyor.
user3746428

4
Entegre uygulamadaki değişimleri yansıtmak için, yukarıdaki AppDelegate.swift func uygulamasının yöntemine yapıştırın (uygulama: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {// Yukarıdaki kodun yeri}
Badrinath

7
BackgroundColor yerine barTintColor kullanın. UINavigationBar.appearance (). BarTintColor = UIColor.greenColor ()
Michael Peterson

@Keenle Biraz kafam karıştı ... Neden görünüm API'si aracılığıyla UINavigationBar'ın arka plan rengini değiştirmek rengini tamamen değiştirmiyor? Arka plan rengini maviye ayarlamaya çalıştım ve bana morumsu mavinin garip bir tonunu verdi ...
fja

59

Swift 3, 4, 4.2, 5+ için güncellendi

// setup navBar.....
UINavigationBar.appearance().barTintColor = .black
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
UINavigationBar.appearance().isTranslucent = false

Hızlı 4

UINavigationBar.appearance().barTintColor = .black
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
UINavigationBar.appearance().isTranslucent = false

Hızlı 4.2, 5+

UINavigationBar.appearance().barTintColor = .black
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
UINavigationBar.appearance().isTranslucent = false

Ayrıca buradan kontrol edebilirsiniz: https://github.com/hasnine/iOSUtilitiesSource


Swift 4.2: NSAttributedString.Key.foregroundColor
Kasra Babaei

renk tonunu bartintcolor yerine beyaza ayarlamak orijinal rengi gösterir. Harika!
NickCoder

@ NickCoder takdir. :) ayrıca benim lib kontrol: github.com/hasnine/iOSUtilitiesSource
Jamil Hasnine Tamim

52
UINavigationBar.appearance().barTintColor = UIColor(red: 46.0/255.0, green: 14.0/255.0, blue: 74.0/255.0, alpha: 1.0)
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.whiteColor()]

Bu satırı didFinishLaunchingWithOptionskodunuza yapıştırmanız yeterlidir.


Bunu RGB ile denedim ve nereye koyarsam yapayım işe yaramıyor.
Nathan McKaskle

@NathanMcKaskle RGB'nizi kontrol edin, "xx / 250.0f" formatında olmalıdır.
Mohit Tomar

DidFinishLaunchingWithOptions ve mükemmel çalıştı. İç görünümDidLoad mükemmel çalışmıyor.
Touhid

26

AppDelegate içinde bu, NavBar'ın biçimini küresel olarak değiştirdi ve size ve başkalarının aradığını düşündüğüm şeyi vermek için alt çizgiyi / sınırı (çoğu insan için sorun alanı) kaldırıyor:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarPosition: UIBarPosition.Any, barMetrics: UIBarMetrics.Default)
    UINavigationBar.appearance().shadowImage = UIImage()
    UINavigationBar.appearance().tintColor = UIColor.whiteColor()
    UINavigationBar.appearance().barTintColor = Style.SELECTED_COLOR
    UINavigationBar.appearance().translucent = false
    UINavigationBar.appearance().clipsToBounds = false
    UINavigationBar.appearance().backgroundColor = Style.SELECTED_COLOR
    UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName : (UIFont(name: "FONT NAME", size: 18))!, NSForegroundColorAttributeName: UIColor.whiteColor()] }

Sonra bir Constants.swift dosyası kurabilir ve içerdiği renkler ve yazı tipleri vb. İçeren bir Stil yapısıdır. Daha sonra herhangi bir ViewController'a tableView / pickerView ekleyebilir ve kullanıcının themeColor'u değiştirmesine izin vermek için "availableThemes" dizisini kullanabilirsiniz.

Bununla ilgili en güzel şey, her renk için tüm uygulamanız boyunca bir referans kullanabilmeniz ve kullanıcının seçtiği "Tema" yı temel alarak güncellenmesi ve bir tane olmadan varsayılan olarak theme1 ():

import Foundation
import UIKit

struct Style {


static let availableThemes = ["Theme 1","Theme 2","Theme 3"]

static func loadTheme(){
    let defaults = NSUserDefaults.standardUserDefaults()
    if let name = defaults.stringForKey("Theme"){
        // Select the Theme
        if name == availableThemes[0]   { theme1()  }
        if name == availableThemes[1]   { theme2()  }
        if name == availableThemes[2]   { theme3()  }
    }else{
        defaults.setObject(availableThemes[0], forKey: "Theme")
        theme1()
    }
}

 // Colors specific to theme - can include multiple colours here for each one
static func theme1(){
   static var SELECTED_COLOR = UIColor(red:70/255, green: 38/255, blue: 92/255, alpha: 1) }

static func theme2(){
    static var SELECTED_COLOR = UIColor(red:255/255, green: 255/255, blue: 255/255, alpha: 1) }

static func theme3(){
    static var SELECTED_COLOR = UIColor(red:90/255, green: 50/255, blue: 120/255, alpha: 1) } ...

2
Teşekkürler adamım, cevabınız bana en azından benim için gerçekten yardımcı oldu, ilk bölümünü kullandım ve harika ve çok yararlı oldu
Ameer Fares

1
Çok teşekkür ederim dostum, burada her cevabı denedim ve sizinkiler dışında hiçbiri işe yaramadı: D
Ronak Shah

19

Bunu film şeridinde yapmak için (Interface Builder Inspector)

Yardımı IBDesignableile Arayüz Oluşturucu Denetçisine daha fazla seçenek ekleyebilir UINavigationControllerve bunları storyboard'da düzenleyebiliriz . İlk olarak, projenize aşağıdaki kodu ekleyin.

@IBDesignable extension UINavigationController {
    @IBInspectable var barTintColor: UIColor? {
        set {
            guard let uiColor = newValue else { return }
            navigationBar.barTintColor = uiColor
        }
        get {
            guard let color = navigationBar.barTintColor else { return nil }
            return color
        }
    }
}

Ardından, film şeridinde gezinme denetleyicisinin özelliklerini ayarlayın.

resim açıklamasını buraya girin

Bu yaklaşım, gezinti çubuğu metninin rengini film şeridinden yönetmek için de kullanılabilir:

@IBInspectable var barTextColor: UIColor? {
  set {
    guard let uiColor = newValue else {return}
    navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: uiColor]
  }
  get {
    guard let textAttributes = navigationBar.titleTextAttributes else { return nil }
    return textAttributes[NSAttributedStringKey.foregroundColor] as? UIColor
  }
}

18

Hızlı 4:

Uygulama düzeyinde gezinme çubuğu görünümünü değiştirmek için mükemmel çalışma kodu.

resim açıklamasını buraya girin

// MARK: Navigation Bar Customisation

// To change background colour.
UINavigationBar.appearance().barTintColor = .init(red: 23.0/255, green: 197.0/255, blue: 157.0/255, alpha: 1.0)

// To change colour of tappable items.
UINavigationBar.appearance().tintColor = .white

// To apply textAttributes to title i.e. colour, font etc.
UINavigationBar.appearance().titleTextAttributes = [.foregroundColor : UIColor.white,
                                                    .font : UIFont.init(name: "AvenirNext-DemiBold", size: 22.0)!]
// To control navigation bar's translucency.
UINavigationBar.appearance().isTranslucent = false

Mutlu Kodlama!


16
UINavigationBar.appearance().barTintColor

benim için çalıştı


15

SWIFT 4 - Sorunsuz geçiş (en iyi çözüm):

Bir gezinme denetleyicisinden geri gidiyorsanız ve kullanmak istediğiniz gezinti denetleyicisine farklı bir renk ayarlamanız gerekiyorsa

override func willMove(toParentViewController parent: UIViewController?) {
    navigationController?.navigationBar.barTintColor = .white
    navigationController?.navigationBar.tintColor = Constants.AppColor
}

viewWillAppear içine koymak yerine geçiş daha temiz olur.

SWIFT 4.2

override func willMove(toParent parent: UIViewController?) {
    navigationController?.navigationBar.barTintColor = UIColor.black
    navigationController?.navigationBar.tintColor = UIColor.black
}

11

In Swift 4

Gezinme çubuğunun rengini değiştirebilirsiniz. Aşağıdaki kod snippet'ini kullanınviewDidLoad()

Gezinme Çubuğu rengi

self.navigationController?.navigationBar.barTintColor = UIColor.white

Gezinme Çubuğu Metin Rengi

self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.purple]

For iOS 11 Büyük Başlık Navigasyon Bar , kullanmak gerekir largeTitleTextAttributesözelliği

self.navigationController?.navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.purple]

9

appearance()Fonksiyon her zaman benim için çalışmaz. Bu yüzden bir NC nesnesi oluşturmayı ve özniteliklerini değiştirmeyi tercih ederim.

var navBarColor = navigationController!.navigationBar
navBarColor.barTintColor =
    UIColor(red:  255/255.0, green: 0/255.0, blue: 0/255.0, alpha: 100.0/100.0)
navBarColor.titleTextAttributes =
    [NSForegroundColorAttributeName: UIColor.whiteColor()]

Ayrıca, sadece metin yerine resim eklemek istiyorsanız, bu da işe yarar

var imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 70, height: 70))
imageView.contentMode = .ScaleAspectFit

var image = UIImage(named: "logo")
imageView.image = image
navigationItem.titleView = imageView

bu şekilde self.navigationController? .navigationBar.topItem? .title rengini değiştirebildim. Teşekkür ederim.
Oğuzhan

8

Görünüm API'sini ve barTintColor rengini kullanın.

UINavigationBar.appearance().barTintColor = UIColor.greenColor()

4

iOS 8 (hızlı)

let font: UIFont = UIFont(name: "fontName", size: 17)   
let color = UIColor.backColor()
self.navigationController?.navigationBar.topItem?.backBarButtonItem?.setTitleTextAttributes([NSFontAttributeName: font,NSForegroundColorAttributeName: color], forState: .Normal)

4

Özelleştirilmiş gezinme denetleyiciniz varsa yukarıdaki kod snippet'ini kullanabilirsiniz. Yani benim durumumda aşağıdaki kod parçalarını kullandım.

Swift 3.0, XCode 8.1 sürümü

navigationController.navigationBar.barTintColor = UIColor.green

Gezinme Çubuğu Metni:

navigationController.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.orange]

Çok yararlı görüşmeler.


4

Swift 4, iOS 12 ve Xcode 10 Güncellemesi

Sadece içine bir satır koy viewDidLoad()

navigationController?.navigationBar.barTintColor = UIColor.red

3

Swift 2'de

Gezinme çubuğunda renk değiştirmek için,

navigationController?.navigationBar.barTintColor = UIColor.whiteColor()

Öğe gezinme çubuğundaki rengi değiştirmek için,

navigationController?.navigationBar.tintColor = UIColor.blueColor()

veya

navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.blueColor()]

3

Hızlı 3

UINavigationBar.appearance().barTintColor = UIColor(colorLiteralRed: 51/255, green: 90/255, blue: 149/255, alpha: 1)

Bu, gezinme çubuğu renginizi Facebook çubuğu rengi gibi ayarlayacaktır :)


3

Swift 3 ve Swift 4 Uyumlu Xcode 9

Ortak Gezinme çubukları için bir Sınıf yapmak için bunun için Daha İyi Bir Çözüm

5 Denetleyicim var ve her denetleyici başlığı turuncu renge değiştirildi. Her denetleyicinin 5 navigasyon denetleyicisi olduğundan, denetleyiciden veya koddan her bir rengi değiştirmek zorunda kaldım.

Bu yüzden ben sadece bu sınıf atayın koddan her biri Gezinme çubuğunu değiştirmek yerine bir sınıf yaptı ve tüm 5 denetleyici Kod yeniden kullanma Yeteneği üzerinde çalıştı. Bu sınıfı Her denetleyiciye atamanız yeterlidir.

import UIKit

   class NabigationBar: UINavigationBar {
      required init?(coder aDecoder: NSCoder) {
       super.init(coder: aDecoder)
    commonFeatures()
 }

   func commonFeatures() {

    self.backgroundColor = UIColor.white;
      UINavigationBar.appearance().titleTextAttributes =     [NSAttributedStringKey.foregroundColor:ColorConstants.orangeTextColor]

 }


  }

2

iOS 10 Swift 3.0

Eğer kullanım hızlı çerçeveler sonra bize hiç sakıncası yoksa UINeraida olarak değişiklik navigasyon arka plana UIColorya HexColorya UIImageve değişim navigasyon geri düğmesi metin programlı, tam forground metin rengini değiştirin.

İçin UINavigationBar

    neraida.navigation.background.color.hexColor("54ad00", isTranslucent: false, viewController: self)
    
    //Change navigation title, backbutton colour
    
    neraida.navigation.foreground.color.uiColor(UIColor.white, viewController: self)
    
    //Change navigation back button title programmatically
    
    neraida.navigation.foreground.backButtonTitle("Custom Title", ViewController: self)
    
    //Apply Background Image to the UINavigationBar
    
    neraida.navigation.background.image("background", edge: (0,0,0,0), barMetrics: .default, isTranslucent: false, viewController: self)

2

Hızlı 3

Kullanabileceğiniz basit bir astar ViewDidLoad()

//Change Color
    self.navigationController?.navigationBar.barTintColor = UIColor.red
//Change Text Color
    self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]

2

Bu sürüm ayrıca gezinme çubuğunun altındaki 1 piksel gölge çizgisini de kaldırır:

Swift 5: Bunu AppDelegate'inize koyunFinishLaunchingWithOptions

UINavigationBar.appearance().barTintColor = UIColor.black
UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
UINavigationBar.appearance().isTranslucent = false
UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .any, barMetrics: .default)
UINavigationBar.appearance().shadowImage = UIImage()

1

yapmak zorundaydım

UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().barStyle = .Black
UINavigationBar.appearance().backgroundColor = UIColor.blueColor()

aksi takdirde arka plan rengi değişmez


1

Önce istenen rengi elde etmek için navigationBar öğesinin isTranslucent özelliğini false olarak ayarlayın. Ardından navigationBar rengini şu şekilde değiştirin:

@IBOutlet var NavigationBar: UINavigationBar!

NavigationBar.isTranslucent = false
NavigationBar.barTintColor = UIColor (red: 117/255, green: 23/255, blue: 49/255, alpha: 1.0)

1

.Normal için Düğme Durumunu ayarladığınızdan emin olun

extension UINavigationBar {

    func makeContent(color: UIColor) {
        let attributes: [NSAttributedString.Key: Any]? = [.foregroundColor: color]

        self.titleTextAttributes = attributes
        self.topItem?.leftBarButtonItem?.setTitleTextAttributes(attributes, for: .normal)
        self.topItem?.rightBarButtonItem?.setTitleTextAttributes(attributes, for: .normal)
    }
}

PS iOS 12, Xcode 10.1


1
Teşekkür ederim. Bu topItemçözümü saatlerce araştırıyorum . Apple'ın stillerin navigasyona nasıl uygulandığı konusunda yaptığı değişikliklerin sayısını sinirlendiriyor.
Uygulama Dev Guy

1

sadece bu uzantıyı arayın ve nav çubuğunun rengini otomatik olarak değiştirecek rengi geçirin

extension UINavigationController {

     func setNavigationBarColor(color : UIColor){
            self.navigationBar.barTintColor = color
        }
    }

görünümde yüklendi veya görünümde çağrı göründü

self.navigationController? .setNavigationBarColor (renk: <# T ## UIColor #>)


1

Bunu AppDelegate'te deneyin:

//MARK:- ~~~~~~~~~~setupApplicationUIAppearance Method
func setupApplicationUIAppearance() {

    UIApplication.shared.statusBarView?.backgroundColor = UIColor.clear

    var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

    UINavigationBar.appearance().tintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    UINavigationBar.appearance().barTintColor =  UIColor.white
    UINavigationBar.appearance().isTranslucent = false

    let attributes: [NSAttributedString.Key: AnyObject]

    if DeviceType.IS_IPAD{
        attributes = [
            NSAttributedString.Key.foregroundColor: UIColor.white,
            NSAttributedString.Key.font: UIFont(name: "HelveticaNeue", size: 30)
            ] as [NSAttributedString.Key : AnyObject]
    }else{
        attributes = [
            NSAttributedString.Key.foregroundColor: UIColor.white
        ]
    }
    UINavigationBar.appearance().titleTextAttributes = attributes
}

iOS 13

func setupNavigationBar() {
    //        if #available(iOS 13, *) {
    //            let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
    //            let statusBar = UIView(frame: window?.windowScene?.statusBarManager?.statusBarFrame ?? CGRect.zero)
    //            statusBar.backgroundColor = #colorLiteral(red: 0.2784313725, green: 0.4549019608, blue: 0.5921568627, alpha: 1) //UIColor.init(hexString: "#002856")
    //            //statusBar.tintColor = UIColor.init(hexString: "#002856")
    //            window?.addSubview(statusBar)
    //            UINavigationBar.appearance().tintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    //            UINavigationBar.appearance().barTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    //            UINavigationBar.appearance().isTranslucent = false
    //            UINavigationBar.appearance().backgroundColor = #colorLiteral(red: 0.2784313725, green: 0.4549019608, blue: 0.5921568627, alpha: 1)
    //            UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.white]
    //        }
    //        else
    //        {
    UIApplication.shared.statusBarView?.backgroundColor = #colorLiteral(red: 0.2784313725, green: 0.4549019608, blue: 0.5921568627, alpha: 1)
    UINavigationBar.appearance().tintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    UINavigationBar.appearance().barTintColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
    UINavigationBar.appearance().isTranslucent = false
    UINavigationBar.appearance().backgroundColor = #colorLiteral(red: 0.2784313725, green: 0.4549019608, blue: 0.5921568627, alpha: 1)
    UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.white]
    //        }
}

Uzantıları

extension UIApplication {

var statusBarView: UIView? {
    if responds(to: Selector(("statusBar"))) {
        return value(forKey: "statusBar") as? UIView
    }
    return nil
}}

1

Bunu, burada hala çözümlerle ilgili problemleri olanlar için yazıyorum.

Xcode Sürüm 11.4 (11E146) kullanıyorum. Benim için çalışan:

navigationController?.navigationBar.barTintColor = UIColor.white
navigationController?.navigationBar.tintColor = UIColor.black

ANCAK!, Film şeridindeki barTintColor'u "varsayılan" dışında bir değere ayarlarsanız, bu 2 kod satırının hiçbir etkisi olmaz.

Bu yüzden dikkatli olun ve Storyboard'da varsayılan barTintColor'a geri ayarlayın. Ah Apple ...


Renk tonunu varsayılan olarak değiştirmesine rağmen yine de aynı sorun :(
marika.daboja

@ marika.daboja Film şeridindeki tüm gezinme denetleyicileriniz varsayılan renklere ayarlı mı?
Tomas Cordoba

Merhaba, yalnızca 1 Gezinti Denetleyicim var (artı 2 Tablo Görünümü Denetleyici). Gezinti Denetleyici Çubuğu Renk Tonu rengi 'varsayılan' olarak ayarlanmış. Bu rengi güncellemek zorunda olduğum kod üzerinde bir etkisi yok gibi görünüyor.
marika.daboja

@ marika.daboja, navigationController öğesinin sıfır olmadığından emin olun. Ve bu kod satırlarını viewDidLoad ()
Tomas Cordoba

0

Bu satırları didFinishLaunchingWithOptions işlevi içinde AppDelegate'inize ekleyin:

bu satır gezinme çubuğu arka planınız içindir.

UINavigationBar.appearance().barTintColor = .orange

Bu satır, yanlış değere yarı saydam değilse, navigasyonda beyaz renk gösterecektir.

UINavigationBar.appearance().tintColor = .white

bu satır gezinti çubuğundaki metinleriniz ve simgeleriniz içindir

UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: Styles.textFirstColor]

Bu, bizi her şeyi gezinme çubuğunuza getirmek için kullanır.

UINavigationBar.appearance().isTranslucent = false
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.