2013-08-29 4 views
8

Uso lo storyboard autolayout. Sto notando oggi, mentre la compilazione di un messaggio di avvisoStoryboard - Configurazione non supportata 8 vincoli in conflitto

MainStoryboard_iphone.storyboard 
Unsupported Configuration 
8 conflicting constraints 

Facendo clic su avvertimento necessario per storyboard, ma non a vista che è un problema. C'è un modo per capire quale vista di controllo/ha il problema

Grazie

risposta

29

fare clic destro sul "8 vincoli conflittuali" e selezionare "Reveal nel registro". Ci dovrebbe essere una linea con qualcosa di simile a quanto segue nel registro:

/path/to/storyboard/Storyboard_iPad.storyboard:8or-pl-jNO: avvertimento: 2 vincoli contrastanti

La parte tra i due punti tra il percorso dello storyboard e l'avviso (8or-pl-jNO nel mio caso) sono l'ID del vincolo che ha causato il problema.

Per trovare il vincolo, fare clic con il tasto destro del mouse sul proprio file storyboard nel navigatore del progetto, quindi selezionare Apri come -> Codice sorgente, quindi cercare l'ID del vincolo. Dovresti quindi essere in grado di trovare la Vista in cui è contenuto nell'XML, quindi puoi tornare a Interface Builder (Apri come -> Interfaccia Build - iOS Storyboard), quindi trova la vista che conteneva il vincolo e trova il vincolo questo ha causato il problema. È possibile selezionare i vincoli nella struttura del documento, quindi controllare il loro ID nell'Ispettore identità sul lato destro, sotto la sezione Documento, denominato ID oggetto.

+0

Sei incredibile. Ho appena percorso la via dolorosa rimuovendone uno per uno e sistemandolo. Non posso convalidare questo momento. Ma lo farò di sera e accetterò la tua risposta – user1509593

+0

Non ho potuto aprire nel registro, ma usando la vista pop-put nel generatore di interfacce ho disabilitato i vincoli che erano diretti a viste non ancorate nel particolare layout di progetto, ad esempio la vista orizzontale. Se fai clic sul vincolo, fai clic su "size inspector" e scorri verso destra fino in fondo, c'è un'opzione con una casella di controllo installata cliccata. Lascia perdere, ma vuoi fare clic sul piccolo + per aggiungere la vista corrente che stai guardando come opzione, che una volta aggiunta vuoi deselezionare. A lungo sperato ma spero che aiuti qualcuno. – DogCoffee

+0

Si potrebbe anche trovare l'ID del vincolo nel "find in project" (cmd-shift-F) e fare semplicemente clic per trovare il vincolo. –

0

@Andrew Porritt 's risposta non funziona nel mio caso, io uso Xcode 6. L'avvertimento si legge:

"Unsupported Configuration of constraint attributes. This may product unexpected results at runtime and is not compatible with Xcode versions prior to 5.1" 

"Attribute Unavaliable" (e.g. I use preferred max layout width) 

Non riesco ad aprire il file di registro, quello che ho fatto è aperto il file storyboard come codice sorgente, quindi gli avvertimenti appariranno nella riga corrispondente (proprio come mostrato nel codice sorgente .swift/.m)