Я готовлю iOS-приложение для нескольких устройств, ориентированное исключительно на информацию, в раскадровке интерфейса.Я использую контроллеры табличного представления с текстом или другим содержимым в статических ячейках табличного представления.
В определенных ячейках я хочу сетку текстовых полей с одинаковыми строками высоты, но различной ширины - в зависимости от длинытекстовое поле.
![grid](https://i.stack.imgur.com/MlctL.png)
Я использую вертикальный вид стека, содержащий горизонтальные виды стека, все с выравниванием: заполнить и распределить: заполнить пропорционально.
Если я не уменьшу минимальный размер шрифта, сетка не появится вообще на некоторых устройствах, но после долгих хлопот я могу заставить сетку появляться на симуляторе при размерах классов ...
НО, журнал показывает "Невозможно одновременно удовлетворить ограничения ..."
"<NSLayoutConstraint:0x600002bde620 UITextField:0x7f92608dc200.width == 45 (active)>",
"<NSLayoutConstraint:0x600002bfe210 'fittingSizeHTarget' UIStackView:0x7f925f463d70.width == 0 (active)>",
"<NSLayoutConstraint:0x600002bd2cb0 'UISV-canvas-connection' UIStackView:0x7f925f463d70.leading == UITextField:0x7f92608dc200.leading (active)>",
"<NSLayoutConstraint:0x600002bd2d00 'UISV-canvas-connection' H:[UITextField:0x7f926081b200]-(0)-| (active, names: '|':UIStackView:0x7f925f463d70 )>",
"<NSLayoutConstraint:0x600002bd4be0 'UISV-spacing' H:[UITextField:0x7f92608dc200]-(0)-[UITextField:0x7f926081b200] (active)>"
, что, как я понимаю из https://www.wtfautolayout.com, означает:
Ширина TextField1 должна равняться45.
Ширина StackView должна быть равна 0.
Передний край StackView должен быть равен переднему краю TextField1. ‡
Задний край StackView должен быть равен TextField2 's Задний край. ‡
Передний край TextField2 должен равняться заднему краю TextField1. ‡
Последние три выглядят знакомо, но я не установил и не могу найти ограничения ширины (которые, я думаю, являются содержимымbased).
Журнал затем сообщает, что выход из первого ограничения в приведенном выше списке, кажется, является решением, но другая очень похожая ошибка журнала следует с немного другими значениями - вероятно, следующая строка в сетке.
Моя проблема в том, чтобы точно определить, где это происходит, почему это происходит и как мне это эффективно исправить.