Подтвердить что ты не робот

Высота экрана без видимых ограничений

Я попытался создать пользовательское представление freefrom с помощью конструктора интерфейса. У меня есть UIView, который содержит UIImageView и UILabel. Я установил ограничения для настройки ярлыка в соответствии с изображением и т.д. И поля для супервизора.

Теперь я хочу, чтобы супервизор точно соответствовал подзонам. Но когда я нажимаю Editor → Size To Fit Content, супервизор полностью не изменяется, а ограничения конфликтуют. Появляется скрытое ограничение ( "Высота экрана iPhone Portrait" ), который нельзя изменить или удалить. См. Снимок экрана ниже:

enter image description here

4b9b3361

Ответ 1

В то время как это не идеально, в зависимости от того, как структурирован ваш XIB и как вы ссылаетесь на представление, вы можете создать представление "царапины" и разместить свое собственное представление внутри этого, чтобы увидеть, как все будет макетироваться. То есть, если вы устанавливаете представление на выход, определенный в XIB File Owner, вы можете просто подключить его к представлению, которое вы создали внутри "царапины" .

Например, я создал контейнерный вид с квадратом и переключателем внутри. Верхний пример жалуется на конфликтующие ограничения и неправильно отображает макет, в то время как нижний пример показывает ту же самую вещь, которая сосредоточена в режиме отбрасывания. Опять же, не идеальный, но он работает на меня.

enter image description here

Редактирование: я только понял, что некоторые ограничения класса размера могут быть потеряны после того, как будет просмотрено представление "царапины" , чтобы рассмотреть другую морщину. Все еще смотря на это.

Ответ 2

Просто, чтобы упростить забыть ярлык. Вы уже добавили ограничение ширины и высоты изображения, вместо того, чтобы использовать контент sizetofit, попробуйте добавить основные, конечные, верхние и нижние ограничения между представлением изображения и его родительским представлением. При этом ваше родительское представление должно соответствовать представлению изображения.

Тот же метод (ограничения для родительского представления) можно использовать для совместной работы с изображением и меткой.

Ответ 3

Я заметил, что когда я физически перетаскивал ширину и высоту супервизора для удовлетворения ограничений, красные ошибки ограничения уходили вместе с ограничением ширины экрана iPhone. Другими словами, мои ограничения продиктовали, что мой subview будет выровнен по нижнему краю с его супер-представлением. Если я вытащил нижний край супервизора до выравнивания с подвью, ошибки исчезли. Все еще кажется багги и неинтуитивным.