В моих UITableViews у меня есть смесь встроенных ячеек и пользовательских ячеек, которые имитируют внешний вид встроенных ячеек. Например, я использую ячейку левой детализации UITableViewCells, а также настраиваемые ячейки, которые также выглядят как ячейка левой детализации, но имеют настраиваемые элементы (например, левую UILabel, но текстовое поле вместо правой UILabel и, возможно, другие элементы, такие как изображение галочки, чтобы пользователь знает, когда он ввел правильную информацию).
Первоначально я установил ограничения для своих пользовательских ячеек так, чтобы синяя левая метка имела ограничение ширины = 91, потому что это была ширина метки встроенной ячейки.
Однако, для последних нескольких версий XCode, он жаловался на меня по поводу «Фиксированные ограничения ширины могут вызвать отсечение».
Я видел все бесчисленные сообщения о переполнении стека, в которых говорилось, что я просто должен сделать свое ограничение <= или> =, но это НЕ делает то, что я хочу. Я не хочу, чтобы эти метки становились больше, потому что тогда разные строки не будут иметь одинаковую ширину на тех левых метках деталей. На приведенном ниже снимке экрана не будет согласованного макета от строки к строке.
Итак, как я могу установить свои ограничения на эту левую деталь UILabel, чтобы она соответствовала поведению размеров встроенной ячейки левой детали, не получая это глупое предупреждение, засоряющее результаты моей сборки?
Я попытался установить пропорциональную ширину на метке, но когда я поворачиваю устройство, моя метка становится намного шире, в то время как метка сведений встроенной ячейки Left Detail остается той же ширины, и мой интерфейс выглядит неопрятно, потому что они не выстроены в линию больше.
Я попытался сделать мое фиксированное ограничение ширины более низким приоритетом (750) и добавить второе ограничение <= с приоритетом 1000, но потом он просто пожаловался на оба ограничения. </p>
Пример ниже:
![enter image description here](https://i.stack.imgur.com/JSMgL.png)