Nella mia app ho tabelle personalizzateViewCells con un rapporto fisso (16x9). Per ottenere ciò, ho posizionato una vista nella cella, fissandola alla sua vista genitore (sebbene l'abbia fatta nel builder dell'interfaccia: V/H:|-[innerView]-|
). Inoltre, ho messo un vincolo di rapporto su di esso.UITableViewAutomaticDimension non funziona correttamente su iOS 9
Nella mia tabellaViewController sto usando UITableViewAutomaticDimension
come altezza di una cella di tabella.
L'altezza di riga stimata è 180, che è la dimensione esatta che la cella avrà su un display largo 320px (come io, come potete vedere, fare).
Sto ancora distribuendo per 8.4, ma quando si esegue il progetto su un dispositivo con iOS 9, ottengo tonnellate di avvisi di layout automatico, anche se tutto funziona bene e sembra perfetto.
L'avviso stesso ha assolutamente ragione. Ci sono due vincoli che non voglio - questi che iOS ha aggiunto da solo.
2015-09-29 11:24:57.771 app[1039:324736] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x147d3e0d0 UIView:0x14901ff70.height == 0.5625*UIView:0x14901ff70.width>",
"<NSLayoutConstraint:0x147dd0210 H:|-(0)-[UIView:0x14901ff70] (Names: '|':UITableViewCellContentView:0x14901f960)>",
"<NSLayoutConstraint:0x147deeca0 V:|-(0)-[UIView:0x14901ff70] (Names: '|':UITableViewCellContentView:0x14901f960)>",
"<NSLayoutConstraint:0x149053c30 V:[UIView:0x14901ff70]-(0)-| (Names: '|':UITableViewCellContentView:0x14901f960)>",
"<NSLayoutConstraint:0x147dbc2b0 H:[UIView:0x14901ff70]-(0)-| (Names: '|':UITableViewCellContentView:0x14901f960)>",
"<NSLayoutConstraint:0x149070800 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x14901f960(179.5)]>",
"<NSLayoutConstraint:0x1490707b0 'UIView-Encapsulated-Layout-Width' H:[UITableViewCellContentView:0x14901f960(320)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x147d3e0d0 UIView:0x14901ff70.height == 0.5625*UIView:0x14901ff70.width>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
L'unica cosa che vedo qui sono gli 0,5 pixel mancanti che iOS ha sottratto in qualche modo magicamente.
L'unica cosa che vedo qui sono gli 0,5 pixel mancanti che iOS ha sottratto in qualche modo magicamente? Dove sono queste informazioni? – BangOperator
@somexyz legge i vincoli registrati: 'V: [UITableViewCellContentView: 0x14da0ff60 (179.5)]' –