Swift动态更改UITabBarItem图像和色调颜色

问题描述 投票:0回答:1

我有一个应该由用户完成的表格,该表格在1个UITabBarItems中的3个UITabBarController之间分配。我想动态地改变UITabBarItem的图像。例如,用户处于第一步,在完成该步骤所需的配置之后,我希望负责此UITabBarItemUIViewController将其图像更改为刻度,表示用户可以继续执行第二步

当所有值都完成时,我尝试将当前视图控制器中的tabBarItem设置为图像,但它不起作用

if manufacturerCompleted
    && modelCompleted
    {
        let image = UIImage(named: "tick")
        self.tabBarItem.image = image?.withRenderingMode(.automatic)
    }

先感谢您! :)

ios swift uiviewcontroller uitabbarcontroller uitabbaritem
1个回答
0
投票

就个人而言,我没有看到代码中的任何错误。也许它没有被执行?

我想,你没有一个@IBAction函数,可以在文本更改事件(或其他任何调用事件)上调用它。尝试设置一个,将其连接到故事板,然后再试一次。

哦,处理选项的更“快捷”方式是“可选绑定”。 See more here

var manufacturerCompleted = false
var modelCompleted = false

@IBAction func handleKeyDown(_ sender: UITextField) {
  updateManufacturerComplete(sender)
  updateModelComplete(sender)

  if manufacturerCompleted && modelCompleted {
    if let image = UIImage(named: "tick") as UIImage? {
      self.tabBarItem.image = image.withRenderingMode(.automatic)
    }
  }
}

func updateManufacturerComplete(_ sender: UITextField) {
  // Your condition here
  // ...
  self.manufacturerCompleted = true
}

func modelCompleted(_ sender: UITextField) {
  // Your condition here
  // ...
  self.modelCompleted = true
}
© www.soinside.com 2019 - 2024. All rights reserved.