将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?
Posted
技术标签:
【中文标题】将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?【英文标题】:Add Placeholder to UITextField, how to set the placeholder text programmatically in swift? 【发布时间】:2016-08-27 23:32:03 【问题描述】:我正在从数据库中提取一个电话号码,当用户开始在文本字段中编辑以更改该电话号码时,我想使用我目前在数据库中拥有的号码作为占位符。由于此信息随每个用户而变化,我如何在 swift 中以编程方式对其进行设置?
【问题讨论】:
【参考方案1】:您需要先从数据库中获取电话号码(将它们转换为字符串),然后将textField
的placeholder
设置为该字符串,如下所示
textField.placeholder = phoneNumberString
【讨论】:
【参考方案2】:斯威夫特 3
如果你的textField有文本,你需要先设置text属性为nil,然后设置占位符文本:
textField.text = nil
textField.placeholder = "My Placeholder Text"
【讨论】:
【参考方案3】:对于阅读本文的其他人来说,重要的是要注意,在 main.storyboard 中设置占位符文本似乎会使此解决方案无效,因此在实施此之前,我必须先清除情节提要中的占位符。一旦完成@Khuong 和@Himanshu 的回答就完美了。
【讨论】:
【参考方案4】:将这行代码应用到 View Did Load
new_Password.attributedPlaceholder =
NSAttributedString(string: " New Password", attributes: [NSForegroundColorAttributeName : UIColor.white]) // new_Password : our text feild name
【讨论】:
这对我有用,很奇怪,将 placeHolder 设置为空字符串fieled?.attributedPlaceholder = NSAttributedString()
【参考方案5】:
从您的数据库(核心数据)中获取您想要的数据,并将其转换为字符串格式后...比如 phoneString
使用此行将此字符串设置为占位符文本
phoneTextField.placeholder = phoneString
【讨论】:
【参考方案6】:Objective-C 代码:
[usernameText setPlaceholder:@"My Placeholder Text"];
【讨论】:
【参考方案7】:请注意,如果您以编程方式更改了文本字段的文本和背景颜色,则无法使用占位符文本的颜色进行更改,而必须设置一个属性占位符。如果您的设备处于“暗模式”并尝试手动制作非暗模式屏幕,则会出现问题 - 您可能看不到占位符!
【讨论】:
以上是关于将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用swift 2.0更改UITextfield占位符颜色和fontsize?