sekaisan sekaisan - 3 months ago 21
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

Answer

http://stackoverflow.com/a/27066764/846780

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

Comments