如何在内容的左侧创建带有填充的UITextField?

时间:2017-09-10 19:18:25

标签: uitextfield padding

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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