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

How to show the full placeholder text in an ios UITextfield?

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

文字连文本框宽度的一半都不占,三点比文字还长。有没有办法进入场内并调整阈值以避免截止?

我知道编程方式,暂时使用它来调整占位符 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

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

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

您可以自定义文本字段来解决您的问题。将此 CustomTextField 放入 Storyboard 文本字段 class 类型中。这里我将最小比例因子设置为 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
            }
        }
    }
} 

您应该将 Autolayouts Constraints 更改为 leadingcenter vertically with Distance and 水平space与距离。

您还可以使用最小字体大小调整文本字段大小来结束文本。