如何缩放视图的所有组件?



是否有任何最佳方法可以根据设备屏幕尺寸(例如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中组织视图并适当地设置堆栈视图,这样您就不必担心子视图

最新更新