Swift에서 탐색 막대 색상 변경


240

사용자가 전체 앱의 색상 테마를 선택할 수 있도록 선택기보기를 사용하고 있습니다.

탐색 표시 줄, 배경 및 가능하면 탭 표시 줄의 색상을 변경하려고합니다.

이 작업을 수행하는 방법을 연구했지만 Swift 예제를 찾을 수 없습니다. 네비게이션 바 색상과 네비게이션 바 텍스트 색상을 변경하는 데 사용해야하는 코드의 예를 알려주시겠습니까?

Picker View가 설정되었으므로 UI ​​색상을 변경하는 코드를 찾고 있습니다.

답변:


526

네비게이션 바 :

navigationController?.navigationBar.barTintColor = UIColor.green

greenColor를 원하는 UIColor로 바꾸십시오. 원한다면 RGB도 사용할 수 있습니다.

탐색 줄 텍스트 :

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

orangeColor를 원하는 색상으로 바꾸십시오.

탭 바 :

tabBarController?.tabBar.barTintColor = UIColor.brown

탭 바 텍스트 :

tabBarController?.tabBar.tintColor = UIColor.yellow

마지막 두 가지에서 brownColor와 yellowColor를 선택한 색상으로 바꿉니다.


고마워요! 나는 내가 시도한 것을 멀리하지 않았지만 올바른 순서로 물건을 가지고 있지 않았습니다.
user3746428

잘 모르겠습니다. 모달과 달리 푸시 세구를 사용하는 경우 동일한 탐색 모음이어야하지만 완전히 확실하지는 않습니다. 죄송합니다.
trumpeter201

2
최신 Xcode 베타로 업데이트 한 후 제목 텍스트 색상을 설정해도 더 이상 작동하지 않습니다. Swift에서는 titleTextAttributes를 사용할 수 없습니다. 어떤 아이디어?
user3746428

1
새로운 질문을 열고 그에 연결될 수 있습니까? 채팅은 이런 곳에서 가장 좋은 장소는 아닙니다.
trumpeter201

3
NSForegroundColorAttributeName을 속성 이름으로 사용하지만 그렇지 않으면 훌륭하게 작동한다는 것을 알았습니다.
Jake Hall

90

다음은 앱 전체에 적용 할 수있는 매우 기본적인 모양 사용자 지정입니다.

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의 API에 대한 자세한 내용은 https://developer.apple.com/documentation/uikit/uiappearance를 참조 하십시오.


그렇다면 이것을 사용하여 전체 앱의 탐색 막대 색상을 어떻게 변경합니까? 지금은 self.navigationController.navigationBar.barTintColor = UIColor.newBlueColor ()입니다. 물론 이것은 코드가있는보기 컨트롤러의 탐색 막대 색상을 변경합니다. 이를 사용하여 모든 탐색 모음을 변경하려면 어떻게해야합니까? UINavigationBar.appearance (). backgroundColor = UIColor.newBlueColor ()을 사용해 보았지만 아무것도하지 않는 것 같습니다.
user3746428

4
entier 앱에 chnages를 반영하려면 아래의 AppDelegate.swift func application (application : UIApplication, didFinishLaunchingWithOptions launchOptions : [NSObject : AnyObject]?)-> Bool {// Place above} 메소드에 위의 내용을 붙여 넣습니다.
Badrinath

7
backgroundColor 대신 barTintColor를 사용하십시오. UINavigationBar.appearance (). barTintColor = UIColor.greenColor ()
Michael Peterson

@Keenle 약간 혼란스러워 ... 외관 API를 통해 UINavigationBar의 배경색을 변경하면 색상이 완전히 바뀌지 않는 이유는 무엇입니까? 나는 배경색을 파란색으로 설정하려고했는데 그것은 자
pur

59

스위프트 3, 4, 4.2, 5+ 용으로 업데이트

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

스위프트 4

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

스위프트 4.2, 5+

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

또한 여기에서 확인할 수 있습니다 : https://github.com/hasnine/iOSUtilitiesSource


NSAttributedString.Key.foregroundColor : 스위프트 4.2
Kasra Babaei

bartintcolor가 아닌 색조 색상을 흰색으로 설정하면 원래 색상이 표시됩니다. 큰!
NickCoder

@NickCoder 감사합니다. :) 또한 내 라이브러리를 확인하십시오 : 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()]

이 줄을 didFinishLaunchingWithOptions코드 에 붙여 넣으 십시오.


나는 이것을 RGB로 시도했지만 그것을 어디에 두어도 작동하지 않습니다.
Nathan McKaskle

@NathanMcKaskle RGB를 "xx / 250.0f"형식으로 확인하십시오.
Mohit Tomar

didFinishLaunchingWithOptions에서 사용되었으며 완벽하게 작동했습니다. 내부 viewDidLoad가 완벽하게 작동하지 않습니다.
Touhid

26

AppDelegate 내 에서 이것은 NavBar의 형식을 전 세계적으로 변경했으며 대부분의 사람들에게 문제가되는 결론 / 경계선을 제거하여 귀하와 다른 사람들이 찾고 있다고 생각하는 것을 제공합니다.

 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()] }

그런 다음 Constants.swift 파일을 설정할 수 있으며 색상 및 글꼴 등이 포함 된 Style 구조체가 포함되어 있습니다. 그런 다음 tableView / pickerView를 모든 ViewController에 추가하고 "availableThemes"배열을 사용하여 themeColor를 변경할 수 있습니다.

이것에 대한 아름다운 점은 각 색상에 대해 전체 앱에서 하나의 참조를 사용할 수 있으며 사용자가 선택한 "테마"를 기준으로 업데이트하고 하나는 기본적으로 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
고마워요, 당신의 대답은 저에게 적어도 저에게 도움이되었습니다. 제가 그것의 첫 부분을 사용했고 정말 훌륭했습니다
Ameer Fares

1
정말 감사합니다, 나는 여기에 모든 대답을 시도하고 그들 중 누구도 당신의 것을 제외하고는 효과가 없었습니다 : D
Shah

19

스토리 보드에서이를 수행하려면 (Interface Builder Inspector)

의 도움으로 IBDesignableInterface Builder Inspector에 더 많은 옵션을 추가 UINavigationController하고 스토리 보드에서 조정할 수 있습니다. 먼저 다음 코드를 프로젝트에 추가하십시오.

@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
        }
    }
}

그런 다음 스토리 보드에서 내비게이션 컨트롤러의 속성을 설정하십시오.

여기에 이미지 설명을 입력하십시오

이 방법은 스토리 보드에서 탐색 막대 텍스트의 색상을 관리하는 데 사용될 수도 있습니다.

@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

스위프트 4 :

응용 프로그램 수준에서 탐색 모음 모양을 변경하는 완벽하게 작동하는 코드입니다.

여기에 이미지 설명을 입력하십시오

// 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

행복한 코딩!


16
UINavigationBar.appearance().barTintColor

나를 위해 일했다


15

SWIFT 4-원활한 전환 (최상의 솔루션) :

내비게이션 컨트롤러에서 뒤로 이동하는 경우 사용하려는 내비게이션 컨트롤러에서 다른 색상을 설정해야하는 경우

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

viewWillAppear에 배치하는 대신 전환이 더 깨끗합니다.

스위프트 4.2

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

11

에서 스위프트 4

탐색 모음의 색상을 변경할 수 있습니다. 아래의 코드 스 니펫을 사용하십시오.viewDidLoad()

네비게이션 바 색상

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

탐색 막대 텍스트 색상

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

들어 아이폰 OS (11) 큰 제목 탐색 막대 , 당신은 사용할 필요가 largeTitleTextAttributes속성을

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

9

appearance()기능이 항상 작동하지는 않습니다. 따라서 NC 객체를 만들고 속성을 변경하는 것을 선호합니다.

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()]

또한 텍스트 대신 이미지를 추가하려는 경우에도 효과가 있습니다.

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

그런 식으로 self.navigationController? .navigationBar.topItem? .title 색상을 변경할 수있었습니다. 고마워.
oguzhan '11

8

모양 API와 barTintColor 색상을 사용하십시오.

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

4

iOS 8 (빠른)

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

내비게이션 컨트롤러를 맞춤 설정 한 경우 위의 코드 스 니펫을 사용할 수 있습니다. 제 경우에는 다음 코드 조각으로 사용했습니다.

스위프트 3.0, XCode 8.1 버전

navigationController.navigationBar.barTintColor = UIColor.green

탐색 줄 텍스트 :

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

매우 유용한 대화입니다.


4

스위프트 4, iOS 12 및 Xcode 10 업데이트

한 줄만 넣으면됩니다 viewDidLoad()

navigationController?.navigationBar.barTintColor = UIColor.red

3

스위프트 2에서

탐색 모음에서 색상을 변경하려면

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

항목 탐색 모음에서 색상을 변경하려면

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

또는

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

3

스위프트 3

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

탐색 막대 색상이 Facebook 막대 색상과 같이 설정됩니다. :)


3

스위프트 3 및 스위프트 4 호환 Xcode 9

일반적인 탐색 막대에 대한 클래스를 만들기위한 더 나은 솔루션

5 개의 컨트롤러가 있고 각 컨트롤러 제목이 주황색으로 변경되었습니다. 각 컨트롤러에는 5 개의 네비게이션 컨트롤러가 있으므로 관리자 또는 코드에서 모든 색상을 변경해야했습니다.

그래서 코드에서 모든 탐색 막대를 변경하는 대신 클래스를 만들었습니다.이 클래스를 지정하면 5 개의 컨트롤러 코드 재사용 기능 모두에서 작동했습니다. 이 클래스를 각 컨트롤러에 할당하면됩니다.

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 스위프트 3.0

당신이 사용 빠른 프레임 워크 다음 우리에게 괜찮다면 UINeraida 로 변경 탐색 배경 UIColor또는 HexColor또는 UIImage변경 탐색 뒤로 버튼 텍스트 프로그래밍, 전체를 forground 텍스트 색상을 변경합니다.

에 대한 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

스위프트 3

사용할 수있는 간단한 라이너 ViewDidLoad()

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

2

이 버전은 또한 탐색 모음 아래에서 1px 그림자 선을 제거합니다.

스위프트 5 : 이것을 AppDelegate didFinishLaunchingWithOptions에 넣습니다.

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

해야 했어요

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

그렇지 않으면 배경색이 변하지 않습니다


1

먼저 navigationBar의 isTranslucent 속성을 false로 설정하여 원하는 색상을 얻으십시오. 그런 다음 navigationBar 색상을 다음과 같이 변경하십시오.

@IBOutlet var NavigationBar: UINavigationBar!

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

1

버튼 상태를 .normal 로 설정하십시오.

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
감사합니다. 이 topItem솔루션에 대한 몇 시간을 검색했습니다 . 스타일이 탐색에 적용되는 방식에 대해 Apple이 계속 변경하는 횟수는 실망 스럽습니다.
App Dev Guy

1

이 확장 프로그램을 호출하고 색상을 전달하면 탐색 막대의 색상이 자동으로 변경됩니다.

extension UINavigationController {

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

보기에서로드 또는보기에 호출이 나타납니다.

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


1

AppDelegate에서 이것을 시도하십시오 :

//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]
    //        }
}

확장

extension UIApplication {

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

1

나는 여전히 여기에 해결책에 문제가있는 사람들을 위해 이것을 쓰고 있습니다.

Xcode 버전 11.4 (11E146)를 사용하고 있습니다. 나를 위해 일하는 사람은 다음과 같습니다.

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

그러나 스토리 보드의 barTintColor를 "default"이외의 다른 값으로 설정하면이 두 줄의 코드는 효과가 없습니다.

따라서 스토리 보드에서주의해서 기본 barTintColor로 다시 설정하십시오. 오 애플 ...


색조 색상을 기본값으로 변경하더라도 여전히 동일한 문제 :(
marika.daboja

@ marika.daboja 스토리 보드의 모든 탐색 컨트롤러가 기본 색상으로 설정되어 있습니까?
Tomas Cordoba

안녕하세요. 네비게이션 컨트롤러 1 개 (테이블 뷰 컨트롤러 2 개) 만 있습니다. 탐색 컨트롤러 막대 색조 색상이 '기본'으로 설정되어 있습니다. 이 색상을 업데이트 해야하는 코드에는 영향을 미치지 않는 것 같습니다.
marika.daboja

@ marika.daboja navigationController가 0이 아닌지 확인하십시오. 이 코드 라인을 viewDidLoad ()에 넣습니다.
Tomas Cordoba

0

didFinishLaunchingWithOptions 함수 내의 AppDelegate에 다음 행을 추가하십시오.

이 줄은 내비게이션 바 배경입니다.

UINavigationBar.appearance().barTintColor = .orange

이 줄은 반투명하지 않으면 탐색에서 흰색을 표시합니다.

UINavigationBar.appearance().tintColor = .white

이 줄은 탐색 표시 줄의 텍스트와 아이콘입니다.

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

이 줄은 탐색 바에 모든 것을 제공합니다.

UINavigationBar.appearance().isTranslucent = false
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.