【问题标题】:How can I make a UITextField with padding on the left of the content?如何在内容左侧制作带有填充的 UITextField?
【发布时间】:2018-02-19 01:01:17
【问题描述】:

UITextField 在字段的左边缘显示其内容文本,这很丑陋,如果字段有可见边框,则很难阅读。另一方面,UITextView 会在文本周围自动填充(空格)。我检查并试验了所有 UITextField 属性,但我没有看到任何方法可以使用它们来填充文本。

我也尝试在文本字段上调用 ​​drawText(in:CGRect) 但没有效果。但我不确定该调用中需要什么 CGRect 。我尝试了不同的边框样式,包括 .none。我还尝试制作一个空白 UIView 并将其分配给文本字段的 leftView 属性,但这也没有效果。我尝试在 viewDidLoad、viewDidAppear 中以及在将文本写入 textField 时执行这些操作。文本按预期显示在 textField 中,但这些其他内容似乎都不会以任何方式影响 textField 的外观。在我看来,很多人必须在 UITextField 中显示文本并以某种方式将其填充在左侧,所以我误解了一些东西,但是什么???

【问题讨论】:

    标签: uitextfield padding


    【解决方案1】:

    以下适用于名为“textField”的字段。它通过将字段内容的左侧相对于 textField 的左边缘向右移动 8 个像素来插入填充:

    textField.layer.sublayerTransform = CATransform3DMakeTranslation(8, 0, 0);

    这是在 2016 年 11 月用户 Dhiru(声誉 1285)对另一个问题的回答中给出的。谢谢 Dhiru!

    我必须补充一点,我对 sublayerTransform 或 CATransform3DMakeTranslation 都不熟悉,所以我不能确定这不会有一些不是立即明显的副作用。我有点担心它被称为“3D 变换”,而我的应用程序没有 3D。但至少目前看来,这似乎回答了这个问题。

    【讨论】:

      猜你喜欢
      • 2015-07-18
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      相关资源
      最近更新 更多