【问题标题】:back button navigation bar not change image swift后退按钮导航栏不快速更改图像
【发布时间】:2021-02-22 09:25:14
【问题描述】:

我有一个导航控制器,我在其中创建了导航栏,现在当我进入新屏幕时,我想更改导航的左侧图标。但它不起作用

    var wwwe = TPCustomNavigationViewController()

override func viewDidLoad() {
    super.viewDidLoad()
    self.wwwe.backButton?.setImage(#imageLiteral(resourceName: "arrow_gray_sx"), for: .normal)
    self.wwwe.backButton?.setImage(#imageLiteral(resourceName: "arrow_gray_sx"), for: .selected)

    guard let url = URL(string: "https://toduba-website-test.clikapp.vercel.app/helpdesk") else {
        return
    }
    let request = URLRequest(url: url)
    webview?.load(request)
}

【问题讨论】:

  • self.wwwe.backButton 是零吗? TPCustomNavigationViewController你正在创建一个全新的实例,是屏幕上显示的那个吗?
  • @Larme 在 TPCustomNavigationViewController 中有一个 backButton,我为使用它的所有视图设置了正确的图像。仅在我编写代码的这个视图中,我想要一个不同的图标,但如果我访问该属性并尝试更改它,想象没有任何变化
  • (self.navigationController as? TPCustomNavigationViewController).backButton?.setImage(#imageLiteral(resourceName: "arrow_gray_sx"), for: .normal) 代替。您不明白的是,当您执行let wwe = TPCustomNavigationViewController() 时,实际上是let wwe = TPCustomNavigationViewController.init(),这意味着它是一个新对象,不是现有对象,也不是在屏幕上看到的对象。
  • 如果您推送到另一个控制器并需要从那里更改,请将您的代码放入 viewWillAppear() 方法中,当您从另一个 VC 弹出时,该方法将调用。
  • @Larme 哦,好的,明白了,我创建了一个新的,但没有在实践中显示它.. 好的,我更改了图标。但我现在有一个问题,当我重新访问控制器时,它总是显示这个 icosa 而不是 i 了

标签: ios swift navigation


【解决方案1】:

您好,要访问您的导航栏项目,您可以这样进行

let img = UIImage(named: "navbar-image")
navigationController?.navigationBar.setBackgroundImage(img, for: .default)

【讨论】:

    【解决方案2】:

    好的解决了这个

        override func viewWillAppear(_ animated: Bool) {
        (self.navigationController as? TPCustomNavigationViewController)?.backButton?.setImage(#imageLiteral(resourceName: "arrow_gray_sx"), for: .normal)
        (self.navigationController as? TPCustomNavigationViewController)?.backButton?.setImage(#imageLiteral(resourceName: "arrow_gray_sx"), for: .selected)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-21
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多