Como as aplicações de réguas permanecem precisas em todos os dispositivos?

Estou muito confuso quanto à forma como as aplicações de réguas iOS actualmente no mercado são compatíveis com dispositivos de tamanho diferente. Um exemplo é mostrado na parte inferior.

Depois de pesquisar, cheguei à conclusão de que obter o PPI da tela atual em tempo real era impossível, o que torna impossível programaticamente desenhar um governante.

a minha pergunta é: como é que estes aplicativos de régua exibem com precisão uma régua sem ser capaz de obter o dispositivo PPI?

O meu primeiro pensou-se que o tamanho do PPI e da tela para cada dispositivo é codificado no aplicativo. Isto parece ser muito esforço e uma receita para um milhão de erros. É mesmo assim que têm de o fazer? Teria de ser testado em cada dispositivo diferente para garantir que funciona correctamente. Eu só tenho acesso ao meu iPhone 5S. eles podem ter diferentes imagens de réguas para cada dispositivo diferente? Isto ocuparia muito espaço ao telefone.

Já vi perguntas semelhantes sobre desenho. governantes, mas (corrija-me se eu estiver errado) eles não parecem ter uma solução para manter a precisão para diferentes tamanhos de tela e PPI. Todos eles parecem dizer "é impossível". Se é impossível, como é feito?

example

Author: Neeku, 2015-02-18

1 answers

Como descobriu, o iOS não tem API pública para obter o PPI do dispositivo. Estes aplicativos provavelmente têm uma lista de hardcoded, como você especulou. Existem sob uma centena de ids de dispositivos de hardware (ver Esta lista por exemplo), e apenas um punhado de diferentes PPIs:
  • iPhone não-retina, iPod touch e iPad mini: 163 PPI
  • IPhone retina (excepto 6+), iPod touch e iPad mini: 326 PPI
  • iPhone 6+: 401 PPI
  • non-retina iPad: 132 PPI
  • retina iPad: 264 PPI
Acho que os criadores destas aplicações não testam as aplicações com todos os dispositivos. E a menos que você tenha verificado os aplicativos, não há razão para você acreditar que os aplicativos são mais precisos do que os PPIs listados acima.

Para detectar o tipo de dispositivo iOS, verifique as respostas a esta pergunta .

 6
Author: rob mayoff, 2017-05-23 11:45:46