2014-10-23 3 views
11

Ho una vista con alcune visualizzazioni di tabella e alcune viste di raccolta e anche alcuni pulsanti ed etichette.In xcode 6.1, builder dell'interfaccia che elimina gli elementi dell'interfaccia utente

Non sono sicuro se questo è nuovo con Xcode 6.1 perché non ho lavorato sull'aspetto ui di questo progetto per qualche tempo. Tuttavia, quando provo a ridimensionare qualsiasi cosa nella vista, le mie visualizzazioni di tabelle e viste di raccolta, e possibilmente alcuni altri elementi che non noto, vengono cancellate. In particolare, sembra che il loro frame o il rect propertied vengano cancellati.

Per essere chiari, questo si verifica solo quando tento di ridimensionare l'elemento trascinando i lati nel generatore di interfacce. Se li ridimensiono cambiando i numeri direttamente nella barra laterale IB o nell'xml, questo non accade.

Mi chiedo se questo è un bug in Xcode o se ho fatto qualcosa per causare questo comportamento che posso cambiare.

Grazie!

+2

Ho lo stesso problema. È molto divertente ridimensionare e spostare continuamente le viste dopo che XCode imposta i fotogrammi su 0,0,0,0. – soleil

+1

Questo è sicuramente un bug molto fastidioso che interessa l'autolayout in Xcode 6.1. –

+0

Confermato che sta funzionando bene in Xcode 6.3 beta. Non sono sicuro del perché, ma il mio live Xcode non aggiornerà l'app "App Store" alla versione 6.1.1, quindi è bloccato con il bug. –

risposta

3

ho acheived una correzione, almeno per th è progetto disattivando il layout automatico in "mostra l'ispettore del file" -> "documento del generatore di interfacce"

Non ho mai usato questa funzione in passato, quindi non so se era in passato, ma mi chiedo se la nuova versione di Xcode lo attiva per impostazione predefinita, dove gli altri lo hanno disattivato. Potrebbe anche essere possibile che sia sempre attivo ma c'è un bug nella funzionalità nella nuova versione.

Questo ha risolto il problema per me, almeno in questo particolare progetto e almeno per ora. Spero che altri lo trovino utile.

+1

Non considererei questa correzione poiché il layout automatico è importante per molte app in iOS8. –

0

Penso di aver incontrato questo "problema". Credo che questo fosse dovuto al fatto che uno dei limiti che avevo non era impostato correttamente.

+0

ti ricordi qualche dettaglio? – Mason

+0

@Mason Assicurarsi che tutte le viste abbiano vincoli relativi ad altre viste e un vincolo superiore e inferiore alla vista contenitore (vista principale). – newDeveloper

2

Da qui sembra un bug in Xcode 6.1.

Ho creato un progetto pulito e il comportamento è lo stesso sulla mia macchina:

https://github.com/nasht/Xcode6ConstraintTest.git

Ridimensionamento un punto di vista rende gli altri scompaiono. Cambiare un vincolo di layout da a = a < = o> = sembra anche farlo.

Ho sollevato un bug con Apple. Suggerisco di fare lo stesso

soluzione: È possibile installare xcode 6.01 e utilizzare il generatore di interfaccia da lì. Puoi ancora compilare ed eseguire il tuo codice usando xcode 6.1 se ti stai affidando alle funzionalità specifiche di xcode 6.1. (dovrai rinominare xcode.app in modo da poter eseguire entrambe le istanze.) È brutto, ma funziona.

+0

Risolto con XCode 6.1.1 per me :) – QLag

0

Quale versione di OS X è attiva? Ho aggiornato a Yosemite oggi e 6.1 insieme ad esso. Quando ridimensionavo un'etichetta, i miei altri elementi non venivano eliminati, ma venivano ridimensionati e riposizionati. La larghezza/altezza cambierebbe in 0,0 e anche x/y cambierebbe in 0,0.

stavo notando altre questioni con Yosemite quindi siamo andati avanti e ha fatto restaurare una capsula del tempo torna a Mavericks e Xcode 6.0

0

Ho avuto lo stesso problema in universal app; iphone funziona bene e l'ipad non funziona.

Sto usando xCode 6.1 e OSX Yosemite mia app supporta iOS7 e iOS 8 e ho avuto lo stesso problema su iOS7 sulla versione iPad solo

Fix:

Così ho riparato impostando simulate Metrics nel costruttore di interfaccia per Size = iPad schermo intero e orientamento da orizzontale o verticale

+0

non funziona per me –

0

Ho lo stesso tipo di problema con Xcode 6.1 e Yosemite: Ho creato una vista che ho aggiunto alla vista principale, quindi appare come una vista secondaria nella scena View Controller. Quindi ridimensiono questa sottoview a 320 x 568. Il mio programma funziona. Corrisponde al programma dropit di Stanford CS193P Lecture 9. Salvare il progetto, chiuderlo e riaprirlo: la vista secondaria ha la sua larghezza e altezza impostate su 0!

Ho provato ad aprire il dropit del progetto di Lecture 8 che è praticamente lo stesso, che funzionava prima (credo in Xcode 6) e lo stesso problema! Innanzitutto pensavo che toccando (relativo alla sottoview) non funzionasse, ma ho scoperto che il tapping non funzionava perché stavo toccando una sottoview che ha la sua larghezza e altezza impostate su 0!

1

stesso problema, yosemit e xocde 6.1. Posso ridimensionare qualche vista solo se disattivo l'autolayout.

0

Ho reimpostato la classe di dimensione wCompact hAny a cui sono stati aggiunti tutti gli UIElements. e sono stati corretti.

2

Ho trovato che è stato risolto nella prossima versione di xcode (6.1.1)