如何在swift中为文本字段设置布局边距?

时间:2016-05-14 17:18:50

标签: ios swift margins

我正在尝试在文本字段中创建边距,这样当我去打字时,文字就不会紧紧地压在边缘上。

我尝试使用此代码(在viewDidLoad上方)

var insets = UIEdgeInsetsMake(10, 10, 10, 10)

然后把它放在我的viewDidLoad()

textField.layoutMargins = insets

我运行程序,看起来仍然没有边距。如何在Swift中的文本字段中实现边距?

2 个答案:

答案 0 :(得分:2)

UITextField子类并实现textRectForBounds:。最简单的策略是调用super,得到生成的rect,根据需要插入它,然后返回它。

这是一个示例结果;请注意,文本的开头和结尾在边距处有相当大的空白区域(当然确切的数量取决于您):

enter image description here

答案 1 :(得分:1)

通过使用正确(您的)值创建新的UIView,您可以在UITextField

中设置填充
textField.leftView = UIView(frame: CGRect(x: 30, y: 30, width: 100, height: 100))
textField.leftViewMode = UITextFieldViewMode.Always