Что означает это предупреждение консоли для моих ограничений? - PullRequest
1 голос
/ 08 июля 2019

У меня есть табличное представление и я установил ограничения внутри ячейки ... я получаю одну ошибку ограничения, которую я не понимаю.Это вывод на консоль:

2019-07-08 01:10:56.377538-0400 TableCellDynamicHeight[5827:393085] [LayoutConstraints] 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. 
(
    "<_UILayoutSupportConstraint:0x2835000a0 _UILayoutGuide:0x135e164f0.height == 20   (active)>",
    "<_UILayoutSupportConstraint:0x283500000 V:|-(0)-[_UILayoutGuide:0x135e164f0]   (active, names: '|':UIView:0x135e16310 )>",
    "<NSLayoutConstraint:0x283517e80 V:[_UILayoutGuide:0x135e164f0]-(0)-[UITableView:0x13682e800]   (active)>",
    "<NSLayoutConstraint:0x2835001e0 V:|-(0)-[UITableView:0x13682e800]   (active, names: '|':UIView:0x135e16310 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x283517e80 V:[_UILayoutGuide:0x135e164f0]-(0)-[UITableView:0x13682e800]   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

И вот как выглядит мой viewController и ограничения:

enter image description here

1 Ответ

3 голосов
/ 08 июля 2019

В основном это говорит о том, что ваши ограничения конфликтуют, и он должен автоматически удалить 1 из них.

Допустим, у вас есть вид с высоты 40. Затем вы помещаете вид в него и говорите, что это 10 сверху и 20 высотой и 0 снизу. Это заставит вас сказать, что 1 ограничение является неправильным и должно быть удалено для работы. как вы заказываете, чтобы иметь высоту 30, а высота на самом деле 40.

Другое дело, если у вас на самом деле было бы 10 к низу в случае выше. Это также создало бы конфликт, поскольку представление уже знает, что оно равно 10 снизу, что означает, что вы в основном сообщаете компилятору его 10 снизу Дважды

...