根据屏幕尺寸调整按钮尺寸

Vaj*_*Ali 5 iphone user-interface ios swift

我正在制作一个有4-5个按钮的主屏幕。众所周知,iPhone 5 / SE的屏幕小于iPhone 6和iPhone7。因此,我们需要根据屏幕大小来扩大和缩小按钮的大小。最好的方法或算法是什么?我使用固定的最小尺寸按钮来处理iphone 5,但是当我们使用iphone 6和7时,这些较小的固定尺寸按钮看起来很奇怪。

Jua*_*lez 1

我使用了几种方法来解决这个问题:

声明模型中按钮的尺寸。该模型应该有一个返回按钮大小的方法,然后您可以针对每个设备/屏幕大小修改该值。例子:

class MyLayoutClass {
    func getSizeForButton() -> CGSize {
        if UIDevice.current.userInterfaceIdiom == .pad {
            return CGSize(width: 100, height: 50)
        } else {
            // iphones
            let bounds = UIScreen.main.bounds
            // iphone SE has 320 width
            if bounds.width > 320 {
                return CGSize(width: 80, height: 50)
            } else {
                return CGSize(width: 50, height: 50) // smaller button size!
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用此尺寸将与屏幕相关的尺寸应用于按钮

另一种方法涉及界面生成器。您可以将所有按钮设置为彼此之间具有固定边距,然后彼此应用“等宽度”关系。请参阅屏幕截图示例:

在此输入图像描述