我有一个应该由用户完成的表格,该表格在1个UITabBarItems
中的3个UITabBarController
之间分配。我想动态地改变UITabBarItem
的图像。例如,用户处于第一步,在完成该步骤所需的配置之后,我希望负责此UITabBarItem
的UIViewController
将其图像更改为刻度,表示用户可以继续执行第二步
当所有值都完成时,我尝试将当前视图控制器中的tabBarItem设置为图像,但它不起作用
if manufacturerCompleted
&& modelCompleted
{
let image = UIImage(named: "tick")
self.tabBarItem.image = image?.withRenderingMode(.automatic)
}
先感谢您! :)
就个人而言,我没有看到代码中的任何错误。也许它没有被执行?
我想,你没有一个@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
}