Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么将UITextField背景设置为.clearColor时,我的UITextField占位符会消失?_Ios_Swift_Uitextfield - Fatal编程技术网

Ios 为什么将UITextField背景设置为.clearColor时,我的UITextField占位符会消失?

Ios 为什么将UITextField背景设置为.clearColor时,我的UITextField占位符会消失?,ios,swift,uitextfield,Ios,Swift,Uitextfield,使用Xcode v7.2-iOS v9.2-iPhone5S 迅捷的 我试图创建一个透明的UITextField,带有浅灰色占位符文本 我使用了: self.userEmailTextField.backgroundColor = UIColor.clearColor() 占位符文本将消失,但在使用白色或蓝色背景时会出现 白色背景: 清晰背景: 占位符颜色根据文本字段的颜色而变化。所以,当您设置“清除颜色”时,它也会相应地设置占位符颜色。基本上它不会消失,但不可见。占位符不可见,因为您的背景

使用Xcode v7.2-iOS v9.2-iPhone5S 迅捷的

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

我使用了:

self.userEmailTextField.backgroundColor = UIColor.clearColor()
占位符文本将消失,但在使用
白色
蓝色
背景时会出现

白色背景:

清晰背景:


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

占位符不可见,因为您的背景颜色清晰。您可以通过如下设置palceholder颜色进行检查

在斯威夫特

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

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

你确定占位符真的消失了吗?浅灰色占位符在黑色背景上可能很难看到。请尝试更改占位符文本颜色相同的问题,即使在将占位符文本颜色更改为白色或蓝色之后,感谢您的反馈你的评论让我想到了这一点:问题解决了。好主意。。很显然,一旦我获得15%的声誉,我的支持票就会公开出现。。再次感谢您的帮助:)如果我的回答解决了您的问题,请投票。谢谢。