2014-04-27 1 views
2

즉석에서 로케일을 변경내 응용 프로그램에서 버튼을 누르면에 현지화를 변경하려면

내가 thisthis

나는 히브리어와 반대로 영어에서 내 로케일을 변경하고 (LTR을 읽고 언어에서 RTL 언어로)

내 레이아웃은 텍스트 및 텍스트 필드의 방향을 결정하기 위해 인터페이스 작성기의 제약 조건을 사용하도록 설계되었습니다. 나는이 글이 무슨 말을 할 경우 앱을

어떻게 내가 그것뿐만 아니라 뷰 방향을 업데이트해야합니까 뷰 방향을 업데이트하려면 재부팅이 필요하기 때문에

, 내가 지역화 된 문자열을 얻을 수 있지만, 제약 변화를 해달라고?

답변

0

나는이 문제로 한 번 혼란에 빠졌지 만, 앱을 다시 시작하지 않고도 로캘을 변경할 수있는 해결책을 찾지 못했습니다.

내가 한 것은 UIViewControllersetupUIForLocaleChange 방법이 있습니다. 이 메서드는 viewDidLoad에서 호출하고 로캘이 변경 될 때마다 알림을 보내고이 메서드를 호출합니다. "지역 변경"이란 재산이있는 관리자가 있음을 의미합니다. locale. 내 strings 파일에는 문자열에 "en.myString"및 "es.myString"과 같은 접두사가 있으며 LocalizedStringForKey(@"myString")과 같은 매크로가 작성되어 현재 로캘로 myString을 반환합니다. 그래서이 setupUIForLocaleChange 메서드에서 현재 로컬에 대한 모든 레이블을 설정하고 프로그래밍 방식으로 제약 조건에 대해서도 동일한 작업을 수행 할 수 있습니다.

희망이

을하는 데 도움이