2013-12-19 8 views
10

기기를 Right-Left 언어로 설정하면 iOS가 항목 순서를 바꿉니다.보기가 RTL 언어로 미러 됨

예 : 자동 레이아웃이 설정된 UITableViewCell의 경우 : 왼쪽에 아바타 이미지가 있고 셀의 나머지 부분을 채우는 텍스트가 오른쪽에 정렬되어 있습니다. 아랍어로는 내 아바타가 오른쪽에 있고 내 레이블은 왼쪽에 있습니다.

iOS가 특정보기에서이를 방지 할 수있는 방법이 있습니까, 아니면 되돌릴 수 있는지 여부를 정의하는 일반적인 설정이 있습니까?

+0

왜 이렇게하고 싶지 않아요? – wakachamo

답변

5

간격 레이아웃의 'direction'속성을 기본값 대신 "Left to Right"로 설정할 수 있습니다. "Leading to trailing". 이렇게하면 RTL 언어로 뷰가 미러링되지 않습니다.

불행히도 미러링하지 않으려는보기의 모든 제약 조건에 대해이 값을 설정해야합니다. 코드로 추가 된 제약 조건은 다음과 같이 설정할 수 있습니다. [self addConstraints : [NSLayoutConstraint constraintsWithVisualFormat : @ "H : | -0 - [_ photoView] -0- |" 옵션 : NSLayoutFormatDirectionLeftToRight 메트릭 : nil views : views]];

+0

+ 올바른 방향을 제시하는 투표. 그리고 좀 더 설명해 주시겠습니까? 어디 XIB에서 "방향"속성을 얻을 수 있습니다. 가능한 경우 화면을 짧게 첨부 할 수 있습니까? – Ayaz

+0

위의 화면에 표시된대로 – Jovan

+0

위의 다른 대답의 스크린 샷에서이를 볼 수 있습니다. 모든 제약 조건을 변경해야합니다. 나는 한 번 바꾸기 위하여 그들의 어떤 과태 방법든지 구멍 XIB에 작동 할 것이다 ??? – Ayaz

7

Xcode6 및 iOS8의 경우 아래처럼 수평 제약을 존중 language direction을 취소 할 수 있습니다

enter image description here

+0

에는 모든 xib 또는 스토리 보드에서 사용하지 않도록 설정하는 바로 가기가 있습니다. 선행 제약과 후행 제약을 설정하는 것은 매우 어렵습니다. – Ayaz

+0

@null RTL에 LTR을 시도했으며 기본 국제화를 사용하여 내보기를 미러링 할 수 있습니다. 그러나 나가 직면하고있는 문제점은 Main.strings (Arabic) 스토리 보드에 입력 된 값이 오지 않는다는 것입니다. 이걸 좀 도와 주실 수 있습니까? –