Как центрировать несколько кнопок в ViewController? - PullRequest
0 голосов
/ 22 октября 2019

У меня есть 3 кнопки, которые я бы хотел центрировать в верхней части моего ViewController, чтобы они оставались по центру независимо от размера экрана iPhone или iPad. Я пытался:

  • Использовать начальные и конечные пробелы на кнопках по обе стороны от контроллера вида, чтобы центрировать их.
  • Поместить кнопки в вид, а затем отцентрировать видотносительно ViewController.
  • Добавить ограничения как отношения.
  • Использовать ограничения для кнопок.

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

enter image description here

1 Ответ

1 голос
/ 23 октября 2019

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

Легко "центрировать" группу кнопок, используя только ограничения. Вот пример:

contstraints on 3 buttons

Чтобы добиться этого, я сначала ограничил Кнопка 2 горизонтальным центром безопасной области, иЯ ограничил top до top безопасной зоны плюс 128px. Затем я ограничил значения top из Button 1 и Button 3 равными top из Button 2 . Наконец, я ограничил trailing из Button 1 до leading из Button 2 плюс 100px и leading из Button 3 доtrailing из Кнопка 2 плюс 100px. Вот как перечислены ограничения:

image

Я не уверен, почему это не работает для вас - вы не дали нам никакой информации о том, как ваша попытка не удалась,Другие методы, которые вы перечислили, также должны работать. Например, вы, безусловно, можете поместить кнопки внутри вида и центрировать вид в безопасной области или на главном виде.

Если вы хотите, чтобы расстояние было пропорционально ширине экрана, вы можете использовать multiplier поле ограничений. Например, удалите ограничение по горизонтали между Кнопка 1 и Кнопка 2 , а затем создайте новое, которое ограничивает centerX из Кнопка 1 до centerX из Кнопка 2 . Затем выберите только что созданное ограничение и установите для его поля multiplier, скажем, 0,5. Вы можете сделать то же самое для Кнопка 3 , но установите multiplier на 1,5. Теперь у вас будет Кнопка 2 в центре безопасной области, а две другие кнопки расположены на полпути между краем и центром безопасной области, независимо от размеров экрана. Конечно, вы можете изменить значения, чтобы получить разный интервал.

...