如何清除UITextField的差距?

时间:2016-07-21 08:59:33

标签: ios uitextfield arabic

众所周知,当文本长度大于文本字段长度时,UITextField将在右边缘保持间隙。可能是10像素或一些。 LTR, right gap, may be 10

然而,当输入模式是阿拉伯语(从右到左)时,间隙出现在左边缘,并且它大于10.有人知道为什么吗? RTL, left gap, larger than 10

我想调整差距,无论输入模式是英语还是阿拉伯语。首先,我应该清除差距,然后覆盖editingRectForBounds:或textRectForBounds :,那么我该如何清除差距呢?

2 个答案:

答案 0 :(得分:0)

您可以设置textField的leftViewrightView。像,

   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)的填充。

答案 1 :(得分:0)

您可以UIView并将textField添加到该视图中。设置textField边框为无。

textField.borderStyle = UITextBorderStyleNone;

根据您的要求调整texField大小。例如,

  1. 如果您希望宽度为100的textField,则
  2. 创建宽度为100的UIView
  3. textField并设置原点x远,比如5像素。并调整宽度。
相关问题