Как правило, лучший способ масштабирования пользовательского интерфейса для нескольких устройств - это использование Auto Layout . Вместо того чтобы определять интерфейс с фиксированными размерами кадров, вы используете ограничения, которые вычисляют кадры во время выполнения на основе устройства.
Ограничения могут быть добавлены в Интерфейсном Разработчике путем перетаскивания Ctrl из одного компонента представления в другой, а затем тонкой настройки с помощью инспектора Атрибутов.
В противном случае, если вы предпочитаете, вы можете создавать и применять свои ограничения в коде:
override func viewDidLoad() {
super.viewDidLoad()
let myView = UIView()
myView.backgroundColor = .red
myView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(myView)
NSLayoutConstraint.activate([
myView.widthAnchor.constraint(equalToConstant: 50),
myView.heightAnchor.constraint(equalToConstant: 50),
myView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
myView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
}
Приведенный выше пример добавит красное поле в центр экрана независимо от размера экрана устройства.