选择另一个标签时如何更改文本字段的背景颜色?

时间:2018-09-14 12:41:34

标签: ios swift uitabbarcontroller

我有一个带有四个标签的标签控制器。在两个选项卡上,我具有用于数据验证的文本字段。如果数据验证失败,它将背景色更改为红色。但是,当我切换到另一个选项卡并返回带有数据验证的选项卡时,文本字段仍具有红色背景。离开标签并进行数据验证后,如何更改文本字段的背景颜色?

我尝试将其添加到viewDidLoad()

self.textName.backgroundColor = UIColor.white

我尝试过

func tabBarController(_ tabBarController: UITabBarController, 
  didSelect viewController: UIViewController) {
      let tabBarIndex = tabBarController.selectedIndex
      if tabBarIndex == 1 {
        self.textName.backgroundColor = UIColor.white
    }
}

这两种方法都不起作用。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在viewWillAppear / viewDidAppear内部进行尝试,因为viewDidLoad在加载VC时会被调用一次

self.textName.backgroundColor = UIColor.white

对于didSelect,您需要

self.tabBarController?.delegate = self