2015-09-23 7 views
16

Forse lotta per un progetto di "avvertimento libero" è inutile, ma sono abbastanza nervoso per Adaptive Layout/layout automatico che mi trovo costretto a cercare di schiacciare questi avvertimenti.Frame "sarà diverso in fase di esecuzione" .... non è che l'intero punto?

Ho un UIView che voglio essere dinamicamente dimensioni in base alla larghezza dello schermo ritratto. Ho la mia app impostata in Build Info per Universal, Portrait only (e capovolta). Ho costretto l'UIView seguenti modi:

  1. Allineato Centro della vista al centro di Superview X
  2. Realizzata della vista di larghezza proporzionale del Superview larghezza
  3. ha dato la vista di un vincolo aspect ratio di 1: 1
  4. Data la vista un vincolo verticale al top

per i dettagli si prega di consultare la schermata qui sotto superview.

Così ora ho l'avvertimenti circa della vista "frame essere diversi in fase di esecuzione", in particolare, la dimensione e la posizione in fase di esecuzione rispetto a ciò che è in tela. Non sei sicuro del motivo per cui Xcode "si preoccupa" della tela in cui le dimensioni della classe sono impostate su Qualsiasi altezza e Qualsiasi larghezza. Ho pensato che l'intero aspetto del layout adattivo è che le dimensioni e le posizioni sono risolte in fase di esecuzione in base alla dimensione e all'orientamento dello schermo del dispositivo.

Se analizzo e lascia Xcode "Aggiorna fotogrammi" ... sì, l'avviso scompare, ma con le supergrande visualizzazioni è praticamente impossibile lavorare graficamente nella minuscola tela in modo WYSIWIG. Qualunque soluzione qui per sbarazzarsi degli avvertimenti senza creare viste sovradimensionate che rendono quasi impossibile lavorare all'interno della tela?

Canvas screenshot

risposta

7

È possibile modificare simulato dimensioni metriche per esempio da 4 pollici iPhone!

enter image description here

O Freeform e quindi modificare la dimensione a ciò che vi si addice meglio.

enter image description here

19

per sbarazzarsi di avvertimento, e lasciare che i vincoli di posizionare i punti di vista "correttamente", basta selezionare la vista che sta dando l'avviso, premere la piccola cosa triangolo nell'angolo in basso a destra dello storyboard : enter image description here

E quindi selezionare "frames Update" per "tutte le viste nel contenitore"

(Vorrei che ci fosse un modo di fare questo per un intero storyboard almeno io non l'ho trovato.)

.210
+1

Scusa, forse non ero chiaro. Nella mia domanda avevo già notato che potevo lasciare che Xcode aggiustasse le cose con "Aggiorna frame". La mia domanda era essenzialmente come usare il limitato spazio immobiliare della tela dopo aver avuto "fotogrammi aggiornati". Mi rendo conto che c'era un po 'di lamentele e lamenti che hanno preceduto la mia domanda :) –

13

Selezionare una vista e premere

  • Opzione + Comando + =

Ciò aggiornerà la dimensione del frame. Ripeti per tutte le visualizzazioni offensive.Non ci vuole così tanto, soprattutto se li trovi facendo clic sui messaggi di errore.

Grazie a this answer per l'idea.


Note

Dopo l'aggiornamento a Xcode 8, e la scelta di alcune Vedi come dispositivo, mi è stato sempre questo errore. Il menu è diverso da Xcode 7, quindi la risposta di @ Spoek non funzionava più. Anche facendo clic su Aggiorna o Reimposta non funzionava per me.

enter image description here

Aggiornamento

Aggiornamento Frames ora ha il suo pulsante. Ecco perché mi mancava prima.

enter image description here

+0

@RaphaelP. L'aggiornamento dei fotogrammi semplifica l'aspetto di un dispositivo in esecuzione. L'aggiornamento dei frame dovrebbe sempre essere sicuro. (Cioè, non cambia i tuoi vincoli.) L'unica volta che ho avuto un problema è quando non avevo i miei vincoli impostati a destra, e l'aggiornamento dei frame lo rendeva così difficile da trovare visualizzazioni. – Suragch

Problemi correlati