Ci sono una serie di domande di overflow dello stack sull'auto-layout delle celle UITableView
e sezioni/piè di pagina che riguardano i vincoli UIView-Encapsulated-Layout-Width
che lo UITableView
utilizza per rendere i suoi componenti come corretta dimensione:UIView-Encapsulated-Layout-Width/Height Constrained to Zero
- what is NSLayoutConstraint "UIView-Encapsulated-Layout-Height" and how should I go about forcing it to recalculate cleanly
- iOS 8.3 'UIView-Encapsulated-Layout-Width' in Custom Keyboard
- Auto-layout: What creates constraints named UIView-Encapsulated-Layout-Width & Height?
- What is a 'UIView-Encapsulated-Layout-Width' constraint?
Lo scopo di questi vincoli sembra abbastanza chiaro - permettono la UITableView
e anche UICollectionView
di interfacciarsi con il layout vincolo e passare le sue specifiche su come grandi cellule (e altri componenti) dovrebbe essere.
maggior parte dei problemi sembrano essere che le persone hanno una serie di richieste vincoli che sono incompatibili con questi vincoli di incapsulamento che richiede anche una dimensione di 0
. Le risposte più praticabili sembrano essere quella di ridurre la priorità dei vincoli definiti dall'utente a 999
in modo che i framework possano sovrascriverli.
Tuttavia - quello che mi interessa capire è il motivo per cui è UITableView
che richiedono una larghezza di 0
per uno dei suoi punti di vista? Si tratta di un bug? O è un risultato di un uso errato? O ha perfettamente senso?
I limiti di altezza di 0
a volte hanno senso, se le celle vengono espanse dal nulla. Abbassare le priorità è un buon modo per gestirle. Ma perché le celle dovrebbero avere una larghezza di 0
?
hai mai trovato una soluzione per questo? – swalkner
No, non l'ho fatto, mi dispiace. – Benjohn