2016-07-21 6 views
0

Как известно, UITextField будет удерживать пробел в правом краю, когда длина текста больше длины текстового поля. может быть 10 пикселей или несколько. LTR, right gap, may be 10как очистить пробел UITextField?

Однако, когда режим ввода является арабским (справа налево), промежуток появляется на левом краю, и он больше 10. Кто-нибудь знает, почему? RTL, left gap, larger than 10

Я хочу настроить промежуток, независимо от режима ввода - английский или арабский. Во-первых, я должен очистить пробел, а затем переопределить editRectForBounds: или textRectForBounds :, так как я могу очистить пробел?

+1

Возможно, вы можете добавить скриншот, с каким промежутком вы имеете в виду, и как вы хотите, чтобы он вел себя на языках RTL и LTR. Помогло бы выяснить, что вы просите. Спасибо: D – Fogmeister

+0

Можно подумать, что арабский язык написан по-другому. Можете ли вы поделиться экраном? – Gihan

+0

ok, я добавил скриншот. – foolishBoy

ответ

0

Вы можете установить leftView и rightView текстаField. Нечто подобное,

UIView *paddingView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 10, 40)]; 
standardTextField.leftView = paddingView; 
standardTextField.leftViewMode = UITextFieldViewModeAlways; 
standardTextField.rightView = paddingView; 
standardTextField.rightViewMode = UITextFieldViewModeAlways; 

40 является высота standardTextField. Это установит дополнение размера (10,40) по обе стороны текстового поля.

+0

, который кажется не работает, потому что исходный правый зазор все еще существует, это сделает правильный зазор 10 + 10 = 20. – foolishBoy

0

Вы можете взять UIView и добавить textField в этот вид. Set textField граница нет.

textField.borderStyle = UITextBorderStyleNone; 

И отрегулируйте texField размер в соответствии с вашими требованиями. Например,

  1. Если вы хотите textField шириной 100, то
  2. Создать UIView шириной 100
  3. Поместите textField и установить его происхождение х далеко, скажем, 5 пикселей. а также отрегулируйте ширину.
+0

Это может не работать, когда я переключаю режим ввода. – foolishBoy

+0

Когда вы переключаетесь в режим ввода, он никогда не меняет рамку. Так что это сработает. – VRAwesome

+0

так, как вы имеете в виду, как настроить ширину? – foolishBoy