Cómo leer la image localizada con imageWithContentsOfFile

esta es mi primera pregunta aquí 🙂

Tengo una image icon_new.png que está localizada para 3 idiomas. Necesito cargarlo en time de ejecución usando algo como esto:

NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"icon_new.png"]; UIImage *img = [UIImage imageWithContentsOfFile:path]; 

El problema anterior es que funciona para las imágenes no localizadas, pero para las localizadas, su ruta real es en realidad anexada con en.lproj, zh-Hans.lproj u otros nombres de carpeta dependiendo de los idiomas incluidos en la localización.

Ahora pude comprobar cuál es la configuration regional actual y agregar ruta de acceso en consecuencia:

 // This path would work for image that's localized - for English version of it. NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"en.lproj/icon_new.png"]; 

Sin embargo, me pregunto si hay una manera automática de hacer esto. Al igual que la aplicación carga el file UI .xib completo desde la ruta de configuration local apropiada, básicamente, simplemente especificaría el nombre de la image en lugar de su ruta completa, y obtendría la versión local adecuada.

¡Gracias de antemano por tu ayuda!

Use NSBundle 's -pathForResource:ofType: que busca primero en el directory principal y, si no encuentra el recurso allí, verifica los directorys de localización apropiados.

 NSString *path = [[NSBundle mainBundle] pathForResource:@"icon_new" ofType:@"png"]; 
    Intereting Posts