2016-03-29 3 views
9

Sono nuovo in iOS. Vedo molti vincoli di disabilitazione nel mio Main.storyboard e voglio eliminarlo. Tuttavia, il mio Main.storyboard ha molti schermi, quindi voglio trovare il modo di trovare tutti i vincoli di disabilitazione e quindi cancellare tutto.
E 'possibile con Xcode?
Oppure un modo per impedire la generazione del vincolo di disabilitazione.
Qualsiasi aiuto sarebbe grande apprezzareXCode: come trovare tutto quindi eliminare tutti i vincoli di disabilitazione

enter image description here

+0

per> impedire la disabilitazione del vincolo generato, i vincoli che sono già disabilitati non influenzeranno il tuo vide o design – HardikDG

+0

Si prega di consultare questo link http://stackoverflow.com/questions/25946812/interface-builder-how-to- clean-up-the-deleted-constraint – Rajesh

+0

@Rajesh ma voglio trovare tutto quindi eliminare tutto, non trovare quindi delegare ogni vincolo –

risposta

0

vincoli di blocco vengono generati quando si crea un vincolo ed eliminare da sotto "Formato ispettore (uno con righello simili)". Ricordati solo di eliminarlo dalla tua scena, quindi non avrai disabilitato il vincolo in giro ... o semplicemente cancellarlo quando lo vedi :).

7

Ovviamente c'è il modo manuale, di passare attraverso tutti i vincoli in Interface Builder e semplicemente eliminare quelli disabilitati.

Ma se hai una tonnellata di utenti disabili e vuoi semplicemente cancellarli tutti, puoi modificare direttamente il file storyboard (fallo con Xcode chiuso).

È possibile creare uno script per questo, ma ecco la procedura manuale per iniziare.

Cerca nel file Storyboard linee come: <exclude reference="egm-9S-fZb"/> In questo caso, egm-9S-fZb è l'ID del vincolo disabilitato. Ora trova una riga nello storyboard in questo modo: <constraint ... id="egm-9S-fZb"/>

Elimina entrambe le righe e hai eliminato il vincolo disattivato.

Nota: se si dispone di vincoli disabilitati in determinate condizioni, ad esempio, si dispone di un vincolo abilitato solo per dire Larghezza compatta, Altezza compatta, verrà elencato con una riga exclude, nonché un Linea include. Quindi controllare la linea include prima di eliminare le linee exclude e constraint.

+0

grazie per la risposta. hai ragione nel trovare il vincolo di disabilitazione nel codice sorgente Xcode. Tuttavia, ogni vincolo ha un ID diverso, quindi trovare ogni id di vincolo e quindi eliminare ancora causare molte volte come l'utilizzo dell'interfaccia Ma ora sto usando la soluzione per trovare dov'è il vincolo di disabilitazione (intendo quale viewcontroller).quindi apro il generatore di interfaccia e lo cancello –

-1

@Dace Wood e @Bao Tran hanno già detto alcune misure utili. Vorrei aggiungere qualcosa.

Se questi vincoli disabilitati sono solo per un oggetto vista specifico, è possibile eliminare manualmente i vincoli disabilitati da IB e quindi aggiungerne di nuovi. O per correre il rischio, è possibile utilizzare "Ripristina i vincoli suggeriti" o "Aggiungi vincoli mancanti" visto in "Risolvi problemi di layout automatico" visto nella parte in basso a destra dello storyboard. È davvero utile