ładowanie obrazów z właściwego pakietu podczas lokalizowania storyboardów

Próbuję dodać opcję umożliwiającą użytkownikowi przełączanie się między językiem arabskim i angielskim z poziomu aplikacji (bez konieczności ponownego ustawiania języka całego iPhone'a), udało mi się to zrobić poprawnie, używając tej metody w AppDelegate plik .m:

 -(void)switchTolanguage:(NSString *)lang{

    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:lang] forKey:@"AppleLanguages"];
     NSBundle *bnd = [NSBundle bundleWithPath:[[NSBundle mainBundle]pathForResource:lang ofType:@"lproj" ]];
     UIStoryboard *storyBoard;
     storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:bnd];
     UIViewController *initViewController = [storyBoard instantiateInitialViewController];
     self.window.rootViewController = initViewController;
}

Umieściłem dwaUIButtons na jednym z kontrolerów widoku w aplikacji, aby przetestować metodę i działa dobrze: wszystkoUILabels, łańcuchy itp ... w nowej załadowanej (zlokalizowanej) serii ujęć pojawiają się z poprawnym wybranym językiem, ale zjeden wyjątek: nowy załadowany storyboard nie pobiera (ładuje) swoich zlokalizowanych obrazów, pobiera obrazy do starego storyboardu (stary pakiet), tj. jeśli aplikacja jest aktualnie uruchomiona na pakiecie angielskim, a użytkownik stuknął w przycisk, który przełącza język na arabski , aplikacja pojawi się z poprawnymi arabskimi kontrolkami i łańcuchami, ale z angielskimi obrazami, przełącz się z powrotem na angielski wszystko będzie OK (angielskie ciągi, etykiety i obrazy ...)

Oto jak moja storyboard jest zlokalizowana:

a oto, jak każdy obraz jest zlokalizowany:

Jak mogę załadować poprawne obrazy pakietów, gdy użytkownik przełącza język aplikacji?

AKTUALIZACJA:
Oto link do przykładowego projektu, co mam na myśli, uruchom próbkę, a zauważysz, że po zmianie języka z poziomu aplikacji zauważysz, że obraz nie jest zmienny ... i zauważysz również, że zlokalizowana storyboard nie ładuje się właściwy obraz w edytorze projektu ...

P.S. nie dodawaj komentarzy, dlaczego używam takiego scenariusza do zmiany języka, ponieważ jest to wymaganie klienta.

questionAnswers(3)

yourAnswerToTheQuestion