ios - 使用 sender.tag 更改 UIView 颜色

标签 ios swift uiview

我看到 sender.tag 通常用于按钮,但想知道它是否可以用于 UIView ? 场景是这样的:我有一些没有边框的文本输入,在每个文本输入的下面有一个薄的(大约 3px)UIView,它是深灰色的。所以看起来每个文本字段都有一个底部边框。对于每个空字段,我想将 UIView 颜色更改为红色。我认为,与其为每个单独的 socket 创建一个 socket ,我可以创建一个 socket 并给它们不同的标签编号并根据该编号更改​​颜色,但我不确定如何操作。

因此,如果只有一个字段为空:

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

由于我对 swift 很陌生,我不知道使用 UIView 是否可以实现这一点。这就是我用按钮所做的:

@IBAction func notePressed(_ sender: UIButton) {

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

}

最佳答案

1-您可以使用 IBOutletCollection 来满足您的要求。

@IBOutlet var underLineVIew: [UIView]!

将您的所有 View 连接到上面的 IBOutlet 并在任何地方使用它 -

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
  }
}

关于ios - 使用 sender.tag 更改 UIView 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53394254/

相关文章:

swift - Facebook图片快速缩放动画,图片未显示初始位置

uitableview - 滚动表格时的 UIView 动画

ios - 在 Xcode 中显示 View 边界的参数

ios - 从 App Store 检索我的 iOS 应用程序的文件

ios - Siri 与自定义意图的集成面临问题

快速便利初始化和通用类

ios - 当我快速打开新 View 时出错

ios - 从框架呈现 UIViewController

ios - GPUImage - ChromaKeyBlendFilter - sourceImage

ios - 无法使用 TabBar 委托(delegate)方法