Como os aplicativos iOS se adaptam ao tamanho da tela do iPhone X

A Apple tem um excelente histórico de fornecer compatibilidade retroativa com aplicativos existentes quando novos dispositivos ou versões do iOS são lançados. Os aplicativos são caixa de letras ou ampliados para caber tamanhos de tela maiores. O iOS geralmente se comportará como uma versão anterior para evitar a quebra de qualquer pressuposição que um aplicativo antigo possa estar fazendo sobre o seu ambiente. A Apple faz muito esforço para tentar fazer aplicativos mais antigos funcionarem corretamente em versões mais recentes e versões iOS.

As maneiras pelas quais os desenvolvedores de aplicativos declaram, de forma implícita ou explícita, quais os aplicativos compatíveis com a frente, não são o foco deste artigo. A versão do Xcode é compatível com (e, portanto, a versão do iOS), a presença de um storyboard de tela de lançamento e de certas chaves Info.plist são os fatores mais importantes. O que eu quero discutir aqui é o novo iPhone X e como ele se comporta ao executar aplicativos mais antigos e atualizados.

iPhone X

O iPhone X é fisicamente diferente de outros iPhones de várias maneiras, mas apenas alguns deles são importantes para a forma como um aplicativo vê o dispositivo a partir de uma perspectiva de desenvolvedor:

  • É um verdadeiro dispositivo 3x: 1 ponto é um 3 × 3 quadrados de pixels na tela
  • o tamanho da tela é diferente: 375 × 812 pontos (1125 × 2436 pixels).
  • a relação de aspecto da tela é diferente: possui o mesmo largura (em pontos, não tamanho físico real) como o iPhone 6 / 6s / 7/8, mas é visivelmente mais alto. Desde o iPhone 5 de 2012, todos os iPhones tiveram uma relação de aspecto de aproximadamente 9:16 (medida como largura de retrato: altura). Os iPhones anteriores de 3.5 "foram 2: 3. O iPhone X é aproximadamente 9: 19.5.
  • O entalhe: a barra de status é dividida em ambos os lados de uma área de corte que abriga a câmera frontal, fone de ouvido e outros sensores.

Como o iPhone X exibe aplicativos em sua tela distintiva? Isso depende da versão do Xcode com a qual os aplicativos foram criados.

Xcode 8 / iOS 10 e anterior

Os aplicativos que foram criados com o Xcode 8 ou anterior (ou seja, o destino do iOS 10 ou anterior) desconhecem a existência dos grandes títulos de barra de navegação do iOS 11 e o novo tamanho de tela do iPhone X. Note, no entanto, que os ativos de 3 × serão usados , se disponível.

Como referência, veja como aparece um aplicativo iOS 10 nos dispositivos iPhone 6 / 6s / 7/8 em sua resolução nativa (ou seja, com o Zoom da tela desativado):

Xcode 8 / iOS 10 compilação de Adaptivity executando no simulador do iPhone 7 executando o iOS 11 no retrato

Isso mostra o tamanho familiar da tela de retrato de 375 × 667 pontos dos iPhones de 4,7 ", com alturas regulares para a barra de navegação (incorporando a barra de status 20pt) e a barra de ferramentas.

Na paisagem, a barra de status está escondida por padrão e as barras são reduzidas em altura:

Xcode 8 / iOS 10 compilação de Adaptivity executando no simulador do iPhone 7 executando o iOS 11 no retrato

O mesmo aplicativo Xcode 8 / iOS 10 executado no novo iPhone X é caixa de caracteres em retrato e tem cantos ligeiramente arredondados:

Xcode 8 / iOS 10 compilação de Adaptivity executando no simulador iPhone X executando iOS 11 em retrato

A barra de status ainda está no entalhe, mas o aplicativo vê a tela como exatamente o mesmo tamanho de um iPhone de 4,7 "6 / 6s / 7/8. A barra de navegação ainda possui 64 pontos de altura, como se houvesse uma barra de status Esta é a compatibilidade para trás da Apple no trabalho!

Na paisagem, como seria de esperar, o aplicativo é caixa em pilar, mas também está sendo ampliado ligeiramente na tela para deixar espaço para a nova alça de agarrar na parte inferior.

Xcode 8 / iOS 10 compilação de Adaptivity em execução no simulador iPhone X executando iOS 11 em paisagem

Isso significa que os recursos de um aplicativo não serão exibidos pixel perfeito na paisagem. A alta densidade de pixels deve tornar isso difícil de ver em uso normal.

Xcode 9 / iOS 11

Quando construído com a versão Gold Master do Xcode 9, os aplicativos vêem a verdadeira natureza da tela do iPhone X, mostrada aqui com os títulos de barra de navegação padrão e os novos títulos grandes do iOS 11 (que são grandes em retrato em iPhones):

Xcode 9 / iOS 11 compilação de Adaptivity executando no simulador iPhone X executando iOS 11 em portraitXcode 9 / iOS 11 compilação de Adaptivity executando no simulador iPhone X executando iOS 11 em retrato

A barra de ferramentas é quase o dobro da altura normal (83 pontos versus 44 pontos).

Na paisagem, a barra de navegação é reduzida em altura como de costume, mas a barra de ferramentas tem 21 pontos extras para deixar espaço para o identificador. Observe também que as margens de layout são aumentadas de 20 para 64 pontos:

Xcode 9 / iOS 11 compilação de Adaptivity executando no simulador do iPhone X executando o iOS 11 na paisagem

Conclusão

Conforme esperado, a Apple criou o iPhone X e iOS 11 para se comportar de forma compatível com versões anteriores para aplicativos que foram criados com o Xcode 8 e que não pode ser esperado poder manipular o novo dispositivo. Mesmo os aplicativos que usam o layout automático e os storyboards de lançamento serão exibidos no meio da tela. Reconstruir com Xcode 9 opta o desenvolvedor no novo design de tela.

Aplicação iOS de Adaptivity

As capturas de tela neste artigo foram tiradas do simulador iOS executando o meu aplicativo Adaptivity iOS. A adaptividade é uma ferramenta para os desenvolvedores e designers visualizar os diferentes tamanhos de tela, margens de layout, guias de conteúdo legíveis, alturas de barras e tamanhos de tipo dinâmico que um aplicativo iOS moderno e adaptável usa quando se usa em diferentes dispositivos e tamanhos multitarefa para iPad. Mais imagens e informações sobre todos os recursos estão disponíveis no meu site .