Ho un pennino con l'autolayout abilitato contenente le viste di un controller di visualizzazione e, separatamente, una finestra con una vista segnaposto per aggiungerle. Il segnaposto ha vincoli relativi alla sua superview e ad altre viste nella finestra, e prima di coinvolgere il mio controller di visualizzazione, ho il ridimensionamento del segnaposto con la finestra nel modo che voglio. Successivamente carico il pennino e aggiungo la sua vista di primo livello come sottoview del segnaposto, e creo anche manualmente i vincoli per tenerlo allineato ai bordi del segnaposto.Autolayout sta ridimensionando la mia finestra
Tutto bene, e sto usando questo modello in diverse istanze all'interno della mia app, ma in alcuni di questi casi, dopo aver aggiunto la vista la mia finestra viene ridimensionata! Si sta riducendo alle dimensioni minime per la vista aggiunta invece che alla vista che si espande alla dimensione corrente della finestra.
Finora l'unico modo che ho trovato per evitare questo è che quando si aggiunge la vista e si creano i suoi vincoli, si imposta anche il frame della vista per dargli la dimensione iniziale per lo stato corrente del segnaposto e della finestra. Va bene una parte del tempo, ma voglio essere in grado di definire i vincoli che sono più complicati che semplicemente allineando ogni spigolo a una superview di segnaposto. Non voglio codificare l'aritmetica dei frame per ognuno di questi casi.
Qualcuno sa cosa sta succedendo? Se la finestra sta già dettando le dimensioni del mio segnaposto, e non viceversa, cosa devo fare quando aggiungo la sottoview per fare in modo che le attuali dimensioni della finestra abbiano ancora la precedenza?
Ho visto il menu di scelta rapida nelle finestre IB di Xcode che sembra riguardare vincoli che riguardano solo le sottoviste e anche superview (impostato sul primo per tutti i miei pennini), cosa sta succedendo in relazione a questa funzionalità? Non ho ancora trovato nulla al riguardo.
Non puoi semplicemente impostare un vincolo di larghezza sulla visualizzazione personalizzata (segnaposto)? – codingFriend1
Ho modificato il mio post per renderlo più chiaro, spero. Il mio segnaposto ha già dei vincoli per dargli il giusto comportamento durante il ridimensionamento della finestra. L'aggiunta di vincoli di dimensione fissa ad esso quando si aggiunge la sottoview interromperà. –
Se i tuoi vincoli sono corretti, il ridimensionamento della finestra funzionerebbe. –