我已经搜索过,但仍然无法让我的应用程序以肖像模式适合所有 iPhone 尺寸,从 iPhone 4 到目前最大尺寸的 iPhone。
让我的应用程序在纵向模式下适合所有尺寸的 iPhone 的最佳方法是什么?
我创建了 iPhone Xs 大小的应用程序。我该怎么做才能让我的应用程序适合 iPhone 4 及更高版本的所有 iPhone 尺寸?
您应该阅读 iOS Auto Layout。它具有所有功能,但学习曲线陡峭。一旦你掌握了这些原则,一切都会自动开始工作(除了一些错误)。
此外,为了适应不同的 iPhone 屏幕尺寸,您应该使用布局边距指南来确保更大的 iPhone 具有更大的边距,反之亦然。
由于 iPhone X 和更新的 iPhone 有其他显示比例,如果你的 UI 不是所有列表或基本内容,你可能想在代码中做一些特别的事情。
通常,缩放 UI 以适应多种设备的最佳方式是使用Auto Layout。您无需使用固定帧大小定义接口,而是使用基于设备在运行时计算帧的约束。
可以在 Interface Builder 中添加约束,方法是按住 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)
])
}
上面的示例将在屏幕中心添加一个红色框,无论设备屏幕大小如何。