2016-07-21 1 views
0

わかっているように、テキストの長さがテキストフィールドの長さより大きい場合、UITextFieldは右端にギャップを維持します。 10ピクセルまたは若干であってもよい。 LTR, right gap, may be 10どのようにUITextFieldのギャップをクリアするには?

入力モードがアラビア語(右から左である)であるときしかし、ギャップが左端に表示され、それが10誰かが理由を知っているよりも大きいのか? RTL, left gap, larger than 10

入力モードが英語かアラビア語かどうかに関わらず、ギャップをカスタマイズしたいと思います。まず、ギャップをクリアし、次にeditingRectForBounds:またはtextRectForBounds:をオーバーライドする必要があります。どうすればギャップをクリアすることができますか?

+1

は、あなたは、あなたが参照しているギャップのスクリーンショットを追加することができますし、あなたが望むどのようにそれはRTLとLTRの言語で動作するように。あなたが求めているものを明確にするのに役立ちます。ありがとうございます:D – Fogmeister

+0

私は考えている他の方法でアラビア語が書かれているかもしれないと思います。あなたは画面を共有できますか? – Gihan

+0

OK、スクリーンショットを追加しました。元の右ギャップがまだ存在するためではなく、作品を行い思わ – foolishBoy

答えて

0

あなたはleftViewとTextFieldのrightViewを設定することができます。何かのように、

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

、これは右ギャップiが入力モードを切り替えるとき月が機能しない10 + 10 = 20 – foolishBoy

0

あなたはUIViewを取ると、そのビューにtextFieldを追加することができます。セットtextFieldボーダーはありません。

textField.borderStyle = UITextBorderStyleNone; 

あなたの要件に応じてtexFieldのサイズを調整してください。あなたは幅100のtextFieldをしたい場合たとえば、

  1. が、その後、
  2. textFieldを入れて、原点のxはるかにそれを設定し、幅100
  3. UIViewを作成し、5つのピクセルは言います。また、幅を調整します。
+0

ことになります。 – foolishBoy

+0

入力モードに切り替えると、決してフレームが変更されません。それでうまくいく。 – VRAwesome

+0

それで、あなたが意味するように、どのように幅を調整するのですか? – foolishBoy

関連する問題