Estoy en el proceso de actualizar mi aplicación para iPhone a gráficos de alta resolución, y he tenido algunos problemas con dispositivos más antiguos. La situación involucra mis iconos UITabBar. Echar un vistazo:Los íconos UITabBar de alta resolución se muestran a tamaño completo en la pantalla de baja resolución
La captura de pantalla superior se ve correcta. Fue capturado en el iPhone de última generación (nueva pantalla) con OS4. Sin embargo, la segunda captura de pantalla es completamente incorrecta. Los íconos de alta resolución se muestran con un tamaño del 100% y se recortan. Esa segunda captura de pantalla fue tomada desde mi iPod touch de segunda generación (pantalla vieja) con OS4.
Por lo tanto, estoy muy confundido aquí. He leído la documentación de Apple y, hasta donde sé, estoy haciendo todo lo que necesitan. Dentro de mi paquete de aplicaciones que tengo imágenes nombradas como:
- tabuladores featured.png
- [email protected]
- tabuladores topics.png
- [email protected]
- (... etc ...)
Dentro constructor de interfaces, que han determinado la versión de baja resolución de cada imagen (el nombre del archivo sin "@ 2x") para ser utilizado en la barra de pestañas. Si entiendo la documentación de iPhone correctamente, el dispositivo debería detectar automáticamente la resolución de la pantalla y mostrar la versión de alta resolución, si está disponible. Entonces, en todo caso, parece que mi iPod touch detecta incorrectamente su resolución de pantalla. ¿Me estoy perdiendo algo aquí tal vez?
¡Se agradecerá cualquier ayuda o idea que se pueda ofrecer! Gracias.
Actualización 1:
No hubo suerte hasta ahora. Tomé el enfoque manual y añade lo siguiente en el comando viewDidLoad
de mi UITabBarController
:
- (void)viewDidLoad {
[super viewDidLoad];
UITabBarItem *tab;
UIViewController *item;
tab = [[UITabBarItem alloc] initWithTitle:@"Featured" image:[UIImage imageNamed:@"tab-featured.png"] tag:0];
item = [self.viewControllers objectAtIndex:0];
item.tabBarItem = tab;
[tab release];
tab = [[UITabBarItem alloc] initWithTitle:@"Topics" image:[UIImage imageNamed:@"tab-topics.png"] tag:1];
item = [self.viewControllers objectAtIndex:1];
item.tabBarItem = tab;
[tab release];
tab = [[UITabBarItem alloc] initWithTitle:@"Video" image:[UIImage imageNamed:@"tab-video.png"] tag:2];
item = [self.viewControllers objectAtIndex:2];
item.tabBarItem = tab;
[tab release];
tab = [[UITabBarItem alloc] initWithTitle:@"Experts" image:[UIImage imageNamed:@"tab-experts.png"] tag:3];
item = [self.viewControllers objectAtIndex:3];
item.tabBarItem = tab;
[tab release];
tab = [[UITabBarItem alloc] initWithTitle:@"Events" image:[UIImage imageNamed:@"tab-events.png"] tag:4];
item = [self.viewControllers objectAtIndex:4];
item.tabBarItem = tab;
[tab release];
}
Esto todavía produce el mismo resultado que el anterior (grandes iconos de corte dentro de la barra de pestañas). ¿Alguien ha oído hablar de problemas con la UITabBar poblando pares de iconos de alta resolución?
Actualización 2:
Con respecto al comentario de Santiago:
Sí, yo era capaz de resolver este. Parecía un error con las referencias de archivos en XCode. Me estaba quedando sin ideas, así que di la vuelta y comencé a eliminar todas las imágenes @ 2x de mi aplicación, solo para que todo vuelva a mostrarse correctamente con el diseño de baja resolución. Una vez que la aplicación mostró las imágenes de tamaño adecuado nuevamente (aunque a baja resolución), una por una comencé a agregar nuevamente las imágenes @ 2x, esperando que se rompa algo. Pareció funcionar bien la segunda vez que entró. No sé por qué o qué pasó. El SDK simplemente parecía tener algunos cables cruzados en cuanto a lo que había sucedido.
que fueron capaces de resolver este problema? Tengo exactamente el mismo problema por el que, por algún motivo, al implementar mi aplicación en un dispositivo con iOS 3.1.3 usando imágenes de alta resolución, exactamente de la misma manera que usted, el dispositivo 3.1.3 muestra la versión de alta resolución del png archivo y recortarlo. – James
hombre, este error es tan molesto como una mierda. obteniendo los mismos resultados en el creador de interfaces de XCode, y no teniendo suerte resolviéndolo mediante la eliminación/lectura de activos, etc. Muy frustrante. [1 minuto después] - y ahora está funcionando bien. – SmartyP