Как установить ограничение из центра в Xcode

#ios #xcode #constraints

#iOS #xcode #ограничения

Вопрос:

Я новичок в автоматических макетах и концепции ограничений. В настоящее время я пытаюсь создать приложение для единого просмотра с двумя кнопками:

ограничения

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

Есть ли какой-либо способ добиться этого? Я не делаю ограничения программно, а скорее на раскадровке. Большое спасибо.

Комментарии:

1. Можете ли вы предоставить подробную информацию об ограничениях, которые вы добавляете?

2. @Paulw11 изображения недостаточно? Что еще я должен предоставить?

3. Не ясно, в чем ваша проблема; Я добавил ограничения, которые вы указали, и это выглядит правильно, за исключением того, что кнопки имеют разную высоту, но вы не указали это в качестве требования. Одна вещь, которую я отмечаю, заключается в том, что у вас может быть неправильное значение 30 / -30 в зависимости от того, какой первый элемент в ограничении.

4. @Paulw11 не могли бы вы, пожалуйста, опубликовать, какие ограничения вы использовали? Это моя главная проблема здесь.

5. У меня есть именно те ограничения, которые вы перечислили, за исключением того, что у меня есть -30 между нижней частью B1 и центром супервизора и 30 между верхней частью B2 и центром супервизора.

Ответ №1:

Попробуйте поместить их оба в представление, добавьте ограничение между ними высотой 60 пикселей, затем сделайте вид в центре супервизора, начальный и конечный 20 пикселей, необязательно 50 сверху и 150 снизу, вы должны получить желаемый результат.

Ответ №2:

Основная проблема здесь заключается в том, чтобы убедиться, что после установки ограничений выравнивания как по центру, так и по «верхнему» варианту, в зависимости от того, как вы этого хотите:

введите описание изображения здесь

Это гарантирует, что не возникнет «перекрытия».