是否有任何最佳方法可以根据设备屏幕尺寸(例如iPhone XS,iPhone XS Max,iPhone X等(缩放视图的所有组件(按钮,按钮标题,图像,所有层次结构子视图(。
实际上,我在iOS应用程序项目中有一些屏幕,该项目是在特定iPhone上设计的,所有限制都是固定的,因此我需要根据其他iPhone屏幕进行更改。
据我所知,我们可以通过以编程方式对比率和所有其他事物(如字体和图像缩放(应用一些约束来做到这一点,但我正在寻找一种对我来说花费更少精力的最佳和简单的解决方案。
是的,你是对的,这可以通过屏幕比率来实现,就像我一年前所做的那样。让我告诉你,你怎么能做到这一点——
您需要根据屏幕比例缩放图像大小,文本的字体大小以及每个视图的每个约束。
你有没有尝试过ScalableLayoutKit库,它是由我实现的,用于基于设计/源屏幕设计可扩展的,一致的UI。
例如:- 假设您要根据iPhone6 mock-up
设计登录屏幕,为此您创建一个LoginViewController
并从情节提要设计 UI。
使用 ScalableLayoutKit
class LoginViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Here we just need to passed based or source design screen name only.
// This method will recursively scale your all ui elements and its constraints too.
view.scaledLayoutDesign(from: .iPhone6)
}
}
最简单的方法是在UIStackViews中组织视图并适当地设置堆栈视图,这样您就不必担心子视图