向UITextField添加占位符,如何在swift中以编程方式设置占位符文本?
我正在从数据库中提取一个电话号码,当用户开始在文本字段中编辑以更改该电话号码时,我希望使用数据库中当前的号码作为占位符。由于此信息随每个用户的变化而变化,我如何在swift中以编程方式进行设置?您需要首先从数据库中获取电话号码(将其转换为字符串),然后将向UITextField添加占位符,如何在swift中以编程方式设置占位符文本?,swift,uitextfield,placeholder,Swift,Uitextfield,Placeholder,我正在从数据库中提取一个电话号码,当用户开始在文本字段中编辑以更改该电话号码时,我希望使用数据库中当前的号码作为占位符。由于此信息随每个用户的变化而变化,我如何在swift中以编程方式进行设置?您需要首先从数据库中获取电话号码(将其转换为字符串),然后将文本字段的占位符设置为该字符串,如下所示 textField.placeholder = phoneNumberString 从数据库(核心数据)中获取所需数据,然后将其转换为字符串格式。。。说电话串 使用此行将此字符串设置为占位符文本 ph
文本字段的占位符设置为该字符串,如下所示
textField.placeholder = phoneNumberString
从数据库(核心数据)中获取所需数据,然后将其转换为字符串格式。。。说电话串
使用此行将此字符串设置为占位符文本
phoneTextField.placeholder = phoneString
重要的是要注意,对于阅读本文的其他人,在main.storyboard中设置占位符文本似乎会使此解决方案无效,因此在实现此解决方案之前,我必须首先清除故事板中的占位符。完成后,@khong和@Himanshu的回答非常有效。Swift 3
如果textField包含文本,则需要先将text属性设置为nil,然后设置占位符文本:
textField.text = nil
textField.placeholder = "My Placeholder Text"
将这行代码应用于查看已加载的数据
new_Password.attributedPlaceholder =
NSAttributedString(string: " New Password", attributes: [NSForegroundColorAttributeName : UIColor.white]) // new_Password : our text feild name
目标C代码:
[usernameText setPlaceholder:@"My Placeholder Text"];
请注意,如果您以编程方式更改了文本字段的文本和背景颜色,则不能使用占位符文本的颜色进行更改,而必须设置属性占位符。这是一个问题,如果您的设备处于“暗模式”,并试图用手制作非暗模式屏幕-您可能无法看到占位符 这就是我的工作原理,非常奇怪,将占位符设置为空字符串fieled?.attributedPlaceholder=NSAttributedString()