【问题标题】:Why does my UITextField Placeholder disappear when setting UITextField background to .clearColor?将 UITextField 背景设置为 .clearColor 时,为什么我的 UITextField 占位符会消失?
【发布时间】:2016-01-07 14:15:06
【问题描述】:

使用 Xcode v7.2 - iOS v9.2 - iPhone5S 斯威夫特

我正在尝试创建一个透明的UITextField,带有浅灰色的占位符文本。

我用过:

self.userEmailTextField.backgroundColor = UIColor.clearColor()

占位符文本会消失,但在使用 whiteColorblueColor 背景时会出现。

白色背景:

背景清晰:

【问题讨论】:

  • 你确定占位符真的消失了吗?在黑色背景上可能很难看到浅灰色占位符。
  • 尝试更改占位符文本颜色
  • 即使在将占位符文本颜色更改为白色或蓝色后也出现同样的问题,感谢您的反馈

标签: ios swift uitextfield


【解决方案1】:

由于背景颜色清晰,占位符不可见。您可以通过像这样设置占位符颜色来检查它...

在 Swift 中...

if let _ = self.placeholder{
 self.txtField.attributedPlaceholder = NSAttributedString(string:self.placeholder!,
    attributes:[NSForegroundColorAttributeName: UIColor.whiteColor()])
  }

在目标c中...

[textField setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];

【讨论】:

  • 感谢您的帮助:)
  • 如果我的回答解决了您的问题,请点赞。谢谢。
【解决方案2】:

占位符颜色根据文本字段的颜色而变化。因此,当您设置清晰颜色时,它也会相应地设置占位符颜色。基本上它不会消失但不可见。

【讨论】:

  • 有道理! - 您的评论让我想到了这一点:stackoverflow.com/a/22017127/5755562 并解决了问题。
  • 好主意.. 显然,一旦我获得 15 名声望,我的赞成票就会公开显示.. 再次感谢
猜你喜欢
  • 2013-09-12
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 2016-02-23
  • 2014-05-24
  • 2023-03-12
  • 1970-01-01
  • 2013-04-08
相关资源
最近更新 更多