1

I already have solution for creating padding for all of my textfield, but I think I need to simplify it because I think this is too manual :

// Padding Left and Right for textfield
UIView *fieldEmail = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
_fieldEmail.leftViewMode = UITextFieldViewModeAlways;
_fieldEmail.leftView = fieldEmail;

UIView *fieldPassword = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
_fieldPassword.leftViewMode = UITextFieldViewModeAlways;
_fieldPassword.leftView = fieldPassword;

UIView *fieldRegisterName = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
_fieldRegisterName.leftViewMode = UITextFieldViewModeAlways;
_fieldRegisterName.leftView = fieldRegisterName;

UIView *fieldRegisterEmail = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
_fieldRegisterEmail.leftViewMode = UITextFieldViewModeAlways;
_fieldRegisterEmail.leftView = fieldRegisterEmail;

UIView *fieldRegisterPassword = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
_fieldRegisterPassword.leftViewMode = UITextFieldViewModeAlways;
_fieldRegisterPassword.leftView = fieldRegisterPassword;

can we create loop or something, so that this padding can affect to all of my textfield? how to simplified this?

thank you.

1 Answers1

0

You may subclass UITextField and override textRectForBounds, editingRectForBounds and drawPlaceholderInRect. This is already done in SSToolkit SSTextField. You may use it like this:

textField.textEdgeInsets = UIEdgeInsetsMake(0, 0, 10, 10)

If you want to use same insets for all textfield, then just subclass and harcode this values.

Ildar Sh
  • 154
  • 1
  • 3