sekaisan sekaisan - 2 months ago 8x
Swift Question

set the padding of a text field using swift in xcode

How to create some space at the beginning of a text field using swift?
I looked at the post

padding of text field

I don't understand what the subclass is doing and how do I use that class to padding.

Thank you very much


This answer is very clear,

  1. If you subclass UITextField you can override textRectForBounds, editingRectForBounds and placeholderRectForBounds. These methods just allow you to add a rect (frame) to your textfield's label.

  2. newBounds method create the rect (frame) that will be added to textfield's label.

  3. Finally your padding is: let padding = UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 5);

  4. Now you have a custom UITextField that has a custom padding.

  5. If you create your new subClass like this class MyTextField: UITextField for example, you only need to change the class of the UITextField that you've added into IB file.

enter image description here