나는 다중 언어 환경에서 작동하는 iOS 앱을 작성 중입니다. 따라서 프로그램은 시스템 언어와 다른 언어로 작동 할 수 있습니다. 예 : 내 전화가 영어로 실행되고 프로그램이 독일어 또는 프랑스어로 실행됩니다. 모든 텍스트가 올바른 언어로 표시됩니다. 내가 VoiceOver를을 수 있도록 노력하고탐색 표시 줄에서 VoiceOver 언어를 어떻게 설정할 수 있습니까?
- (void)setVoLanguage:(NSObject*)object
{
if (prefLanguage == 0){
[object setAccessibilityLanguage:@"de-DE"];
} else {
[object setAccessibilityLanguage:@"fr-FR"];
}
}
네비게이션 컨트롤러에있는 텍스트를 말하는 :
는 이제 VoiceOver를 다음과 같은 방법을 사용하여 미세 대부분의 시간을 작동 올바른 언어의 텍스트를 말하는 것으로, 원하는 다음 방법 중 하나를 사용하여 올바른 언어 :
[self setVoLanguage:navController];
[self setVoLanguage:navController.title];
[self setVoLanguage:navController.navigationBar.topItem];
[self setVoLanguage:navController.navigationBar.backItem];
[self setVoLanguage:navController.navigationBar.topItem.title];
[self setVoLanguage:navController.navigationBar.backItem.title];
[self setVoLanguage:navController.navigationBar.topItem.titleView];
[self setVoLanguage:navController.navigationBar.backItem.titleView];
그러나 결과가 탐색 모음에서 독일어 나 프랑스어 텍스트가 항상 영어 음성을 사용하여 말 것을.
탐색 표시 줄에서 VoiceOver 언어를 전환하는 방법을 아는 사람이 있습니까?
감사합니다.
업데이트 :
- (NSString *)accessibilityLanguage {
cnlAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
if (appDelegate != nil) {
if ([appDelegate prefLanguage] == 0) {
return @"de-DE";
} else {
return @"fr-FR";
}
}
return @""; // this line should never be reached
}
내 AppDelegate에 객체가 현재 언어를 저장하는 객체입니다 : 여기 나 아이폰 OS 5.1.1을 사용하여 작동 주위에 작업입니다. 모든 객체에 대한 accessibilityLanguage 덮어 쓰기가 문제를 해결하는 것으로 보입니다.
다른 사람에게 유용 할 수 있기를 바랍니다.
navController는 내 객체의 이름입니다. 그래서 이것은 o.k입니다. Apple이 지금 iOS의 버그임을 확인했습니다. 따라서 탐색 바에 VO 언어를 설정할 수는 없습니다. – mschmitt
그들이 확인한 것이 좋습니다. –
마지막으로 나는 당신과 공유하고 싶은 일을 발견했습니다. 위의 편집보기를 참조하십시오. – mschmitt