Como lidar com a escala da imagem em todas as resoluções disponíveis para o iPhone?
Quais tamanhos seriam os melhores para usar em imagens: background.png, [email protected] e [email protected] se quisermos usar esta imagem, por exemplo, para cobrir toda a largura e meia altura da tela em todas as resoluções para aplicativo de retrato do iPhone?
Isto é o que temos agora:
Device Points Pixels Scale Physical Pixels Physical PPI Size
iPhone X 812x375 2436x1125 3x 2436x1125 458 5.8"
iPhone 6 Plus 736x414 2208x1242 3x 1920x1080 401 5.5"
iPhone 6 667x375 1334x750 2x 1334x750 326 4.7"
iPhone 5 568x320 1136x640 2x 1136x640 326 4.0"
iPhone 4 480x320 960x640 2x 960x640 326 3.5"
iPhone 3GS 480x320 480x320 1x 480x320 163 3.5"
Algumas pessoas dizem que para uma imagem de borda a borda (como um banner na parte inferior da borda esquerda para a direita da tela) para o iPhone 6 Plus, eles se preparariam para [email protected] com largura 1242 e para o iPhone 6 [email protected] com largura 750 para coincidir com o tamanho da tela do iPhone 6, no entanto, não acho que seja uma boa ideia, porque 1242/3 = 414 e 750/2 = 375, portanto, nomeá-los como @ 2x e @ 3x não faz sentido. E então qual largura deveria ter back.png - 375 ou 414?
Os nomes dos gráficos estão usando os sufixos @ 2x e @ 3x; se, por exemplo, [email protected] tiver resolução 30x30, então, logicamente, pense em [email protected] deve ter resolução 20x20 e image.png seja 10x10. Isso significa que, se quisermos ter uma imagem nítida de largura total para cada tela, provavelmente criaremos [email protected] com largura 414 * 3 = 1242px, [email protected] com largura 414 * 2 = 828px e back.png com largura 414px. No entanto, isso significa que em todos os iPhone, exceto no iPhone 6 Plus, você precisará configurar as suas uiimages para usar, por exemplo, o modo de conteúdo de ajuste de aspecto e elas serão reduzidas para que, novamente, não seja uma solução perfeita e provavelmente desacelerará o aplicativo se usamos muito escândalo em dispositivos mais antigos.
Então, qual você acha que seria a melhor solução para resolver esse problema?