2016-07-21 3 views
0

우리가 알다시피, 텍스트의 길이가 텍스트 필드의 길이보다 클 때 UITextField는 오른쪽 가장자리에 간격을 유지합니다. 10 픽셀 또는 다소있을 수 있습니다. 입력 모드 아랍어 인 경우 LTR, right gap, may be 10UITextField의 간격을 제거하는 방법은 무엇입니까?

그러나, 간격이 왼쪽 가장자리에 나타납니다 (오른쪽에서 왼쪽입니다), 그리고 이유를 알고 10. 사람보다 큰입니까? RTL, left gap, larger than 10

입력 모드가 영어 또는 아랍어인지 상관없이 맞춤형 간격을 지정하고 싶습니다. 먼저 간격을 제거한 다음 editingRectForBounds : 또는 textRectForBounds :를 재정의해야합니다. 어떻게 간격을 제거 할 수 있습니까?

+1

참조하는 간격과 RTL 및 LTR 언어로 동작하는 방식을 스크린 샷으로 추가 할 수 있습니까? 당신이 묻고있는 것을 정리하는 데 도움이 될 것입니다. 감사합니다 : D – Fogmeister

+0

하나의 추측은 내가 생각하는 다른 방법으로 작성된 아랍어 수 있습니다. 당신은 화면을 공유 할 수 있습니까 ?? – Gihan

+0

확인, 스크린 샷을 추가했습니다. – foolishBoy

답변

0

leftViewrightView을 textField로 설정할 수 있습니다. 예 :

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을 해당보기에 추가 할 수 있습니다. textField 국경은 없음입니다.

textField.borderStyle = UITextBorderStyleNone; 

그리고 귀하의 요구 사항에 따라 texField 크기를 조정하십시오. 예를 들어,

  1. 당신은 폭 (100)의 textField을 원하는 경우

    는 다음
  2. 폭 100
  3. UIViewtextField을 넣고 그것을 원점을 설정 만들기 X까지 5 개 픽셀들은 말한다. 또한 너비를 조정합니다.
+0

입력 모드를 전환 할 때 작동하지 않을 수 있습니다. – foolishBoy

+0

입력 모드로 전환하면 절대로 프레임이 변경되지 않습니다. 그렇게하면 효과가 있습니다. – VRAwesome

+0

너가 의미하는대로 너비를 조정하는 방법? – foolishBoy

관련 문제