Разработчик интерфейса говорит, что ячейки UITableView нуждаются в ограничениях, но они не
У меня есть контроллер вида с UITableView
, Я установил в нем динамические ячейки прототипа, установил стиль первой ячейки "Пользовательский", добавил несколько подпредставлений в ячейку.
Всякий раз, когда я делаю что-то подобное, IB жалуется, показывает красные предупреждения и отказывается размещать ячейку, даже если она отлично работает в работающем приложении. В чем проблема?
Скриншоты ниже показывают детали.
Первый UITextField
плавает наполовину над ячейкой, несмотря на наличие ограничения по центру на его суперпредставление, которое должно поместить его в середину ячейки.
Нажатие на кнопку "Обновить кадры" ничего не дает.
IB также делает ложные заявления о представлении изображения слева. Он говорит, что ему нужно "положение Y или высота". Но у этого есть и: 50 пунктов высоты, и ограничения к вершине и основанию ячейки.
1 ответ
Ограничения на изображение большого пальца могут конфликтовать друг с другом из-за высоты ячейки прототипа. Верхнее пространство + нижнее пространство + высота больше, чем высота ячейки прототипа. Интерфейсный Разработчик не знает, как выложить это или какое ограничение сломать. У вас есть несколько вариантов:
Измените высоту ячейки прототипа, чтобы она соответствовала ожидаемой высоте, чтобы ограничения не конфликтовали.
Измените одно из 3 ограничений на приоритет меньше требуемого. Это позволит Интерфейсному Разработчику нарушить это ограничение, чтобы удовлетворить другие два.
Измените ограничения, чтобы соответствовать высоте ячейки прототипа. Аналогичен варианту 1, но изменяет ограничения, чтобы соответствовать высоте, а не изменяет высоту, чтобы соответствовать ограничениям.
Интерфейсный Разработчик не очень прост, когда дело доходит до высоты ячеек, особенно когда они включают представление контента, которое имеет дробную высоту из-за разделителя. Я предполагаю, что ваша проблема связана с этими тремя ограничениями, равными 70, но высота просмотра вашего контента примерно равна 70,5. Я обнаружил, что обычно лучше использовать ограничение top, ограничение высоты и вертикальный центр в ограничении контейнера вместо top, height и bottom.