快速设置 UITextfield 占位符的字体

Posted

技术标签:

【中文标题】快速设置 UITextfield 占位符的字体【英文标题】:Setting font for UITextfield place holder in swift 【发布时间】:2016-02-23 20:26:19 【问题描述】:

我使用以下代码为 UITextfield 的 text(16) 和 placeholder(9) 设置不同的字体,

m_searchTextField.font = UIFont .systemFontOfSize(16)
let font = UIFont .systemFontOfSize(9)
let attributes = [
        NSForegroundColorAttributeName: UIColor.lightGrayColor(),
        NSFontAttributeName : font]

 m_searchTextField.attributedPlaceholder = NSAttributedString(string: "Search String be in meddle left",
        attributes:attributes)

字体大小设置正确,但占位符文本在文本字段中设置得有点靠前。

我该如何解决这个问题?有什么建议吗?

【问题讨论】:

***.com/questions/27652227/… 【参考方案1】:

我以编程方式解决了这个问题,因为我找不到任何其他方法来解决它。

代码如下:

class ViewController: UIViewController 

    @IBOutlet weak var textField: UITextField!
    var placeholder : UILabel!

    override func viewDidLoad() 
        super.viewDidLoad()

        placeholder = UILabel(frame: CGRect( x: 0, y: 0, width: textField.bounds.width, height: textField.bounds.height))
        placeholder.text = "Search String be in meddle left"
        placeholder.font = UIFont.italicSystemFontOfSize(9)
        placeholder.textColor = UIColor.grayColor()
        placeholder.hidden = !textField.text!.isEmpty
        placeholder.textAlignment = .Center
        textField.addSubview(placeholder)
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
    

    @IBAction func textField_EditingChanged(sender: AnyObject) 
        placeholder.hidden = !textField.text!.isEmpty
    
 

【讨论】:

以上是关于快速设置 UITextfield 占位符的字体的主要内容,如果未能解决你的问题,请参考以下文章

UITextField 占位符的颜色及光标颜色(及如何学习新知识)

iOS 13 - 带有占位符的 UITextField 让应用程序崩溃

如何在 React Native 中更改 textInput 占位符的字体系列

更改占位符的字体系列

用于 chrome 占位符的字体的 css 技巧

占位符怎么设置