gpt4 book ai didi

ios - 如何从 superview 获取所有元素(如 : UiLabel, UITextfield)并设置标签文本颜色和文本字段占位符颜色

转载 作者:行者123 更新时间:2023-11-28 11:57:50 26 4
gpt4 key购买 nike

我在设置 UITextfield 占位符颜色和 UIlabel 文本颜色时遇到问题

enter image description here

  1. 我们可以在给定的屏幕上看到我需要的东西。

Here is the code i am using to identify the UILabel and UITextfield.

func processSubviewsNight(of view: UIView) {

for subview in view.subviews {

if subview is UITextField {
if let textField : UITextField = subview as? UITextField {
textField.setValue(UIColor.white, forKeyPath: "_placeholderLabel.textColor")
textField.backgroundColor = UIColor.appBlueColor()
}
}

if subview is UILabel {
if let label : UILabel = subview as? UILabel {
label.textColor = UIColor.white
}
}

if subview is UIButton {
if let button : UIButton = subview as? UIButton {
button.backgroundColor = UIColor.red
}
}
processSubviewsNight(of: subview)
}
}
  1. 问题是 UITextfield 占位符和 UIButton 文本进入 UILabel 循环并更改 UITextfield 占位符颜色与 UIlabel 文本颜色相同

最佳答案

您应该在 else 条件下调用 processSubviewsNight(of: subview)。否则,文本字段的 subview 将传递给此方法。

func processSubviewsNight(of view: UIView) {

for view in self.view.subviews {
if let lbl = view as? UILabel {
label.textColor = UIColor.white
} else if let textField = view as? UITextField {
textField.setValue(UIColor.white, forKeyPath: "_placeholderLabel.textColor")
textField.backgroundColor = UIColor.appBlueColor()
} else if let button = view as? UIButton {
button.backgroundColor = UIColor.red
} else{
processSubviewsNight(of: view)
}
}

}

关于ios - 如何从 superview 获取所有元素(如 : UiLabel, UITextfield)并设置标签文本颜色和文本字段占位符颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50598170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com