Изменить цвет UIView с помощью sender.tag - PullRequest
0 голосов
/ 20 ноября 2018

Я видел sender.tag, обычно используемый для кнопок, но мне было интересно, можно ли его использовать для UIView?Это сценарий: у меня есть несколько текстовых вводов без границ и чуть ниже каждого, у меня есть тонкий (около 3 пикселей) UIView, который темно-серый.Таким образом, кажется, что каждое текстовое поле имеет нижнюю границу.Для каждого пустого поля я хочу изменить цвет UIView на красный.Я думал, что вместо того, чтобы создавать розетки для каждого, я мог бы просто создать их и дать им разные номера тегов и изменить цвет, основываясь на этом, но я не уверен как.

Итак, если пусто только одно поле:

if userName!.isEmpty {
   validateUnderline.backgroundColor = UIColor.red
}

Поскольку я новичок в swift, я не знаю, возможно ли это с помощью UIView.Вот что я сделал с кнопкой:

@IBAction func notePressed(_ sender: UIButton) {

    playSound(soundFileName: soundArray[sender.tag - 1])

}

1 Ответ

0 голосов
/ 20 ноября 2018

1-Вы можете использовать IBOutletCollection по вашему требованию.

@ IBOutlet var underLineVIew: [UIView]!

подключить все ваши представления к вышеупомянутому IBOutlet и использовать его где угодно для ex-

underLineVIew [0] .backgroundColor = UIColor.yellowColor ()

2 - вы также можете попробовать расширение UITextField.

extension UITextField {
 func setBottomBorder() {
   self.borderStyle = .none
   self.layer.backgroundColor = UIColor.white.cgColor
   self.layer.masksToBounds = false
   self.layer.shadowColor = UIColor.gray.cgColor
   self.layer.shadowOffset = CGSize(width: 0.0, height: 1.0)
   self.layer.shadowOpacity = 1.0
   self.layer.shadowRadius = 0.0
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...