Quello che sto cercando di realizzare
Voglio avere due punti di vista di uguale altezza disposti verticalmente per tutte le altezze regolari. Tuttavia, per Compact Heights voglio avere le viste disposte orizzontalmente. Questo è illustrato nella figura seguente:Come risolvere mancanti/vincoli contrastanti per Wäny Hany quando si utilizza diverse classi dimensionali
Per fare questo, ho aggiunto i vincoli generali nella classe dimensionale Wäny-Hany che si applicano a tutto. Quindi ho aggiunto vincoli specifici per le classi di dimensione wAny-hRegular e wAny-hCompact. Questo ha funzionato bene per wAny-hRegular e wAny-hCompact (e per testare l'app nel simulatore), ma mi ha lasciato con i vincoli mancanti in wAny-hAny. Se aggiungo questi vincoli mancanti in wAny-hAny allora ottengo vincoli in conflitto in wAny-hRegular o wAny-hCompact. Non so come sbarazzarmi degli errori.
Di seguito è una spiegazione più dettagliata di esattamente quello che ho fatto.
Come ho tentato di farlo
sono stato in grado di ottenere qualcosa che funziona nel simulatore effettuando le seguenti operazioni.
Wäny Hany
per qualsiasi larghezza di Qualsiasi Altezza ho impostato i seguenti 4 vincoli:
Cioè, ho appuntato blu verso l'alto ea sinistra e Ho appuntato il rosso a destra e in basso. Non importa quale classe di dimensioni sia utilizzata, questi vincoli sono sempre necessari.
Wäny hRegular
per qualsiasi larghezza di regolare altezza ho aggiunto i seguenti 4 vincoli:
Cioè, ho appuntato blu a destra e rosso a la sinistra. Ho anche bloccato il bordo superiore del rosso al bordo inferiore del blu. E ho fatto le altezze rosse e blu uguali. Questo risolve tutti i problemi di vincoli per l'altezza normale.
Wäny hCompact
per qualsiasi larghezza di Compact Altezza ho aggiunto i seguenti 4 vincoli:
Cioè, ho appuntato blu verso il basso e il rosso a la cima. Ho anche bloccato il bordo destro del rosso al bordo sinistro del blu. E ho fatto le larghezze rosse e blu uguali. Che si prende cura di tutti i problemi di vincoli per Compact Height.
Il problema
Con l'impostazione sopra tutto funziona come dovrebbe nell'anteprima Storyboard (vedi prima immagine sopra) e nel simulatore per tutti i formati che ho testato.
Tuttavia, l'Interface Builder sto ottenendo i seguenti errori di vincolo mancanti per la dimensione della classe Wäny Hany:
Questo è un po 'di una cattura-22, perché se provo ad aggiungere i vincoli mancanti, quindi, creo vincoli in conflitto con i vincoli delle classi di dimensioni normali o compatte. Ecco il Compact come esempio:
Come posso risolvere questo problema?
Hai ragione. Ho solo bisogno di impostare tutti i vincoli in AnyAny, quindi aggiungere i vincoli speciali in AnyCompact. Successivamente, disinstallo i vincoli in conflitto in AnyCompact. Per disinstallare i vincoli, ho dovuto studiare più la risposta di @ AkshaySunderwani (cioè la documentazione). Non potevo semplicemente deselezionare 'installato' perché lo disinstalleremmo per ogni classe di dimensione. Ho dovuto aggiungere la classe di dimensione specifica (AnyCompact) nella finestra di ispezione dei vincoli e quindi disinstallarla. – Suragch