如何在ios UITextfield中显示完整的占位符文本?

时间:2019-01-29 11:41:16

标签: ios swift xcode layout interface-builder

占位符文本确实显示了三个要截断文本的点。

文本甚至不占用文本字段宽度的一半,并且三个点比文本长。有没有一种方法可以进入现场并调整阈值以避免截止?

我确实知道编程方式,并且暂时使用它来调整占位符tekst的大小,直到适合为止。

    let labelKeyPath: String = "_placeholderLabel"
    var label : UILabel = self.Distance.value(forKeyPath: labelKeyPath) as! UILabel
    label.adjustsFontSizeToFitWidth = true
    label = self.FocalLength.value(forKeyPath: labelKeyPath) as! UILabel
    label.adjustsFontSizeToFitWidth = true

Herby我确实添加了一些当前IB设置和结果的图像。请继续添加点,以便让我显示嵌入的当前和将来的图像,谢谢。

The IB view, settings and app result

3 个答案:

答案 0 :(得分:0)

或者,您可以创建自己的UITF子类并覆盖:

open func placeholderRect(forBounds bounds: CGRect) -> CGRect

答案 1 :(得分:0)

您可以自定义文本字段来解决问题。将此CustomTextField放在Storyboard文本字段类类型中。这里将最小比例因子设置为0.3。有助于修复...

class CustomTextField: UITextField {
    override func layoutSubviews() {
        super.layoutSubviews()

        for subview in subviews {
            if let label = subview as? UILabel {
                label.minimumScaleFactor = 0.3
                label.adjustsFontSizeToFitWidth = true
            }
        }
    }
} 

答案 2 :(得分:0)

您应使用前导更改自动布局约束,使用距离更改垂直居中并使用距离更改水平空间

您还可以使用最小字体大小来调整文本字段的大小来包装文本。