У меня есть родительский UIView с UIImageView и другой UIView внутри.UIImageView имеет изображение, и оно ограничено тем же размером родительского UIView.Дочерний UIView также ограничен тем же размером родительского UIView, и у него есть кнопки, которые располагаются над определенными частями UIImageView (это позволяет пользователю нажимать на изображение, чтобы вызвать действие в зависимости от того, где изображение было нажато).
Я пытался установить ограничения с помощью AutoLayout, используя классы размеров, но я не могу заставить их изменять размеры в соответствии с размерами экрана.Я создал фиксированные ограничения на экране iPhone 8.iPhone 8, iPhone X и iPhone 8 Plus имеют ширину Compact / height Regular, однако это выглядит только на iPhone 8 / X.Я также хотел бы, чтобы размеры кнопок уменьшались для iPhone SE / 4s.
Вот как это выглядит (синий реальный фон заменен на реальное изображение): обратите внимание, что кнопки имеют одинаковый размерна всех 3 экранах
родительские ограничения UIView
дочерние ограничения UIImageView
дочерние ограничения UIView
Кнопки внутри дочернего UIView имеют фиксированные ограничения сверху / сзади / вперед / снизу в соответствии с размером экрана iPhone 8 / X.
Как можно заставить кнопки соответствующим образом изменять размердля всех размеров экрана при сохранении одинакового положения на изображении, которое также масштабируется в зависимости от размеров экрана?
ОБНОВЛЕНИЕ: После замены внутреннего UIView на StackView и обновления ограничений с помощью распределенияпри одинаковом заполнении это выглядит следующим образом:
Заменен UIView на StackView
Как мне сделать так, чтобы он выглядел так?
исходный экран
ОБНОВЛЕНИЕ 2:
Добавлен интервал и центрированы X / Y стека.
обновленный stackView
ОБНОВЛЕНИЕ 3: Изображение, которое у меня есть в imageView, имеет режим содержимого в Aspect Fit.Как мне масштабировать кнопки в этом режиме?