Oppdater iOS-appen din for å støtte iOS 7

Jeg har nylig oppdatert White Noise-appen min for å støtte det moderne temaet iOS 7. Jeg lærte et lite triks med Interface Builder omtrent halvveis inn i overgangen som kan spare deg for mye tid når du oppdaterer appen din for å støtte iOS 7.

Det første jeg la merke til når jeg kompilerte appen min for iOS 7, er at alle visningene forskjøvet seg oppover statuslinjen - det er fordi i iOS 7 statuslinjen ikke lenger skyver visningen ned. Hvis du vil administrere iOS 7 og tidligere versjoner av OS, må du håndtere denne forskjellen. (Auto Layout kan også hjelpe, men det er ikke tilgjengelig på iOS 5, og det er derfor jeg for øyeblikket ikke bruker det.)

Åpne nibfilen du vil oppdatere, og bytt Vis som-feltet til iOS 6.1 og tidligere ( figur A ).

Figur A

Oppsettet er akkurat som før, med navigeringslinjen som faller under statuslinjen. Når du bytter tilbake til Vis som iOS 7.0, vil du se at navigeringslinjen nå sitter øverst på statuslinjen ( Figur B ).

Figur B

For å fikse dette, bytt størrelse inspektør og flytt navigasjonslinjen ned 20 poeng, som er høyden på statuslinjen. Dette vil plassere navlinjen under statuslinjen på iOS 7, men vil føre til at tidligere versjoner av operativsystemet viser et 20-punkts gap. For å løse dette nye problemet, må du også stille iOS 6/7 Deltas for Y til -20 slik at tidligere versjoner av OS vil bli plassert riktig ( figur C ).

Figur C

Bytt tilbake til visning som iOS 6.1, og du vil merke at nav-linjen er riktig plassert på 0, og Delta viser nå +20 ( figur D ). Dette forteller deg at for iOS 7 blir nav-linjen flyttet ned 20 poeng. Bare husk at Delta justeres avhengig av hvilken versjon av iOS du ser på. Så hvis du ser på iOS 6, gjelder Delta iOS 7 og omvendt.

Figur D

Det er det! En enkel løsning på Interface Builder-filene dine for å støtte iOS 7 og tidligere versjoner av OS. Hvis du opprettet visningene dine programmatisk uten bruk av Interface Builder, kan følgende kodebit være nyttig slik at du kan plassere visningene manuelt:

Forhåpentligvis vil dette trikset spare deg for tid hvis du bruker Interface Builder og vil støtte tidligere versjoner av iOS. Og fordi det har skjedd så mange endringer i iOS og brukergrensesnittet, vil du teste appen din grundig på enheter som kjører både iOS 6 og iOS 7. Lykke til!

© Copyright 2021 | pepebotifarra.com