归因于UITextField的文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了归因于UITextField的文本相关的知识,希望对你有一定的参考价值。

我正在尝试使用UITextField的属性文本。我已经定制了我的占位符文本,但它忽略了我为主文本属性设置的值。

nameTextField.attributedText = NSAttributedString(string: "", attributes: [NSForegroundColorAttributeName : UIColor.white, NSParagraphStyleAttributeName : paraStyle, NSFontAttributeName : UIFont.init(name: "HelveticaNeue-Bold", size: 16)]);

奇怪的是,故事板中也存在一个问题。如果我在文本字段上设置值,则在我单击后立即丢失它们。

以前有人经历过吗?

答案

您想要设置typingAttributes,而不是referencedString。

试试这个:

func textFieldDidBeginEditing(_ textField: UITextField) {

    let paraStyle: NSParagraphStyle = NSParagraphStyle()
    textField.typingAttributes = [NSForegroundColorAttributeName : UIColor.white, NSParagraphStyleAttributeName : paraStyle, NSFontAttributeName : UIFont.init(name: "HelveticaNeue-Bold", size: 16)]

}
另一答案

解:

textField.defaultTextAttributes = yourAttributes // call in viewDidLoad

@ DonMag的解决方案有效,但导致内存使用问题,应用程序开始滞后(很多)。所以使用typingAttributes,在某个时间点,内存使用率上升并且从未停止并导致应用程序冻结。

以上是关于归因于UITextField的文本的主要内容,如果未能解决你的问题,请参考以下文章

Swift归因字符串清除背景文本

从故事板本地化归因于UITextView

编辑时如何更改 UITextField

可以应用于每个UITextField的自定义类 - Swift

如何设置 UITextField 宽度约束为某个字符串留出空间

如何在 iOS 中为 UITextField 提供填充?