ios - 快速更改 UITabBarItem 图像和色调颜色

标签 ios swift uiviewcontroller uitabbarcontroller uitabbaritem

我有一个应由用户填写的表单,该表单分为 3 个 UITabBarItems在 1 UITabBarController 。我想改UITabBarItem的图像动态。例如,用户处于第一步,在完成该步骤所需的配置后,我想要 UITabBarItem造成这个的原因UIViewController将其图像更改为勾号,指示用户可以继续执行第二步

我尝试在所有值完成后将当前 View Controller 中的 tabBarItem 设置为图像,但没有成功

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

提前谢谢您! :)

最佳答案

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

我想,您没有在文本更改事件(或任何调用的内容)上调用的 @IBAction 函数。尝试设置一个,将其连接到 Storyboard,然后重试。

哦,处理选项的一种更“快捷”的方法是“可选绑定(bind)”。 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
}

关于ios - 快速更改 UITabBarItem 图像和色调颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781697/

相关文章:

ios - Xcode 不会在开发人员门户上自动创建应用程序 ID

iOS - 基于电话号码或促销代码的订阅付款

ios - 滚动时从 'cellForRowAtIndexPath' 保存到 CoreData 崩溃

swift - 将滑动手势识别器添加到 uilabel (swift)

ios - Swift - 在 UIImageView/UIScrollView 之上的 UIView

iOS 内存泄漏, View Controller 的自定义 TabBar 失控分配

ios - 按下按钮时呈现新 ViewController 时如何显示 tabBarController

ios - *AppName* 没有 iPhone 5 可以执行的架构

json - 我怎样才能解决这个问题?从 '[String]' 转换为无关类型 '[String : AnyObject]' 总是失败

uiviewcontroller - 当我插入具有不同支持方向的 Controller 时,为什么 UINavigationController 不改变方向?