Как правильно настроить ограничения для UIButtons (в изображении) в XCode? - PullRequest
0 голосов
/ 19 апреля 2019

Справочная информация:

Я создаю магазин для игры, которую создаю в XCode, используя SceneKit для игры, SpriteKit для наложений, UIKit для магазина и любой другой вид без наложения.может создать.У меня 9 кнопок, все с размерами по умолчанию 700x700, уменьшенными в раскадровке до 90x90.Я пытаюсь, чтобы все 9 из них отображались в формате 3x3, который изменяет размеры и пробелы в зависимости от того, какой экран у пользователя.

Примечание: contentView - это UIView с более светлым синим фоном, который содержит все мои кнопки.

(изображение 1) Что я хочувыглядеть на всех экранах (за исключением синих контуров): https://prnt.sc/ndzqbz

(изображение 2) Как это выглядит на устройстве, для которого я его разработал (Iphone 7 Plus): http://prntscr.com/ndzrkn

(Изображение 3) Как это выглядит на другом устройстве (I pad Pro 12,9 дюйма 3-го поколения): http://prntscr.com/ndzrrh

Вопрос:

Как бы я приблизил изображение 2, а 3 к изображению 1?

Я прошел через тонну видео с ограничениями автоматической разметки, был в Интернете и ничего не нашел,Каждый раз, когда я что-то пробовал, это испортило бы Изображение 3 еще больше. Примечание: Изображение 3 - это «очищенная» версия того, что у меня ранее было, раньше у нее были кнопки всех разных форм и размеров везде, где их не должно было быть.

Я также попробовал программный подход к решению этой проблемы в Swift 5.0:

Код:

func setupButtons() {
       player_button.frame = CGRect(x: contentView.self.frame.midX, y: contentView.self.frame.midY, width: 200, height: 200)
    }

Я думал, что это будет сделано, это расположить мою кнопку посерединезрения и увеличить размер моей кнопки.Он увеличил размер моей кнопки, но на экране Ipad он разместил ее здесь: http://prntscr.com/ndzxgo, которая находится не в середине моего contentView, как я хотел.То, что он, похоже, сделал, взял оригинальный размер contentViews и использовал его.Я также не могу заставить его принять размер contentView с примененными ограничениями (я действительно получал, что мои ограничения contentViews работали по большей части.).

Другие вопросы, которые следует учитывать:

• Я попытался изменить размеры изображений и поместить их в режим просмотра стека - я не смог заставить его работать

Спасибо за любой отзыв!

1 Ответ

0 голосов
/ 19 апреля 2019
As suggested in comment with the help of CollectionView also possible. But I have tried with UIButton with size 90x90 and placed in the center of the view.
        below are the constraint added to the button 
        Align Center X to : Superview
        Align Center Y to : Super view
        width equals : 90
        Height equals : 90

        and add the remaining button.
        Please find the below link for adding constraints to all button.

    Below are the screen shots.

    ipad https:    https://prntscr.com/ne175m
    iphone 5s .    https://prntscr.com/ne174t
    iphone 7 plus  https://prntscr.com/ne175x
    constraints    https://prntscr.com/ne10vl



    Please change UIButton background images as per your requirement
...