2014-12-10 27 views
8

Stavo sviluppando un'app in Xcode 5 per iOS 7 su iPhone 5 pollici storyboard. Ho preparato la mia app e i suoi pulsanti, immagini e altre cose per adattare le dimensioni dello schermo di iPhone 5, quindi l'app ottimizzata a livello di programmazione per adattarla agli iPhone 4 e 4.Xcode 6 ridimensiona automaticamente l'app per iPhone 6 e 6 plus

E poi Xcode 6 è arrivato, e due nuovi dispositivi, iPhone 6 e iPhone 6 plus. Stavo pensando che dovrò spendere ancora qualche ora per ottimizzare a livello di programmazione l'app per tali risoluzioni.

Ma ho provato a eseguire la mia app sul mio nuovo iPhone 6 ed è successo qualcosa di strano. L'app stessa ha reso tutto per me. Tutto era nella giusta posizione e nelle giuste dimensioni e non ho fatto nulla.

Ho visto che Xcode 6 ora utilizza classi di dimensioni per sviluppare l'app per più dispositivi.

Ma nel mio progetto non utilizzo Classi di dimensioni e Layout automatico e funziona?

Ho quindi aperto un nuovo progetto. Nel mio nuovo progetto il ridimensionamento non funziona più così. Quindi non ridimensionerà automaticamente i miei pulsanti, viste e altre cose.

Qualcuno ha idea di cosa sta succedendo?

+1

Il sistema ridimensiona automaticamente l'applicazione per adattarla alle nuove dimensioni dello schermo se non sono state preparate le risorse corrette nelle nuove dimensioni. Quindi la tua app funzionerà ma non alle dimensioni di un'applicazione 6/6 + nativa. –

+0

@jshier quindi è meglio per me lavorare con le classi di dimensioni? E cosa succederà se sto sviluppando un gioco in Sprite Kit? I sistemi cambieranno automaticamente le dimensioni degli sprite? – MOzeb

+1

Non è necessario utilizzare le classi di dimensioni per iOS per interrompere lo zoom della tua app. Hai solo bisogno di un'immagine di lancio della risoluzione appropriata. –

risposta

15

Se non si utilizza una scheda story di lancio o si includono immagini di avvio per le nuove dimensioni di iPhone 6, l'intero schermo si espanderà per riempire le nuove dimensioni del dispositivo (lo stesso accade quando si attiva Zoom nelle impostazioni di accessibilità). L'utente dell'iPhone 6 noterà caratteri più grandi, immagini, ecc.

Questo è ciò che sta accadendo. Il problema è che non puoi sfruttare lo spazio extra dello schermo (pixel extra). Se è bello con te, allora tienilo, ma quando finalmente ottimizzi la tua app per utilizzare quella porzione extra-reale, gli utenti di iPhone 6 si lamenteranno improvvisamente che la dimensione del font si è ridotta quando smette di zoomare automaticamente.

Dovresti passare il tempo per ottimizzarlo per iPhone 6 e includere le immagini di lancio (o la scheda di avvio se supporta solo iOS 8+) e ottenere la nota "Ottimizzato per iPhone 6" aggiunta alla descrizione dell'app.

+0

ora capisco ... Quindi funziona nel caso in cui aggiungete le immagini ... Ma per me è meglio zoomare mentre sto sviluppando i giochi, sembra davvero fantastico su dispositivi più grandi .. – MOzeb

+0

Ciao Marcus, ho lanciato un lancio xib per il corretto ridimensionamento per l'iPhone 6/6 +, ma dopo aver letto un altro thread qui: http://stackoverflow.com/questions/26210622/optimized-for-iphone-6-info- text-in-app-store, la persona parla di @ 3x, e su questo sono confuso. Puoi approfondire su cosa sta parlando la persona? Grazie – Pangu

+0

Le immagini 3x non hanno nulla a che fare con ottenere l'app * Questa applicazione è ottimizzata per iPhone 5, iPhone 6 e iPhone 6 Plus. *. Ecco una delle mie app. Nessuna immagine sopra il 2x, ma ho tutte le immagini di avvio richieste e [dice che è ottimizzata] (https://itunes.apple.com/us/app/sound-it-out-spelling/id916263370?mt=8). Se si capiscono le immagini in scala 2x per i dispositivi di retina, la retina di iPhone 6 Plus ha una scala ancora più grande di 3x. Imposta qualsiasi visualizzazione di immagini sullo storyboard di lancio per ridimensionare o includere automaticamente tutte le dimensioni della scala in modo che siano della giusta dimensione. –

-1

Se non si tocca l'app pre iOS 8, funzionerà automaticamente nei dispositivi iPhone 6 e 6 Plus. Ma se vuoi usare le classi di grandezza (come dovresti), dovrai aggiungere i vincoli di autolayout per rendere le cose buone.

+0

Cosa succede in ios9? La mia app iphone5 funziona bene su un iPhone 6 se è in modalità zoomata. In modalità standard viene "schiacciato" in alto a destra. – OneGuyInDc