gpt4 book ai didi

ios - 如何以编程方式将图像设置为在每个设备上具有相同的相对大小和位置?

转载 作者:行者123 更新时间:2023-11-30 12:54:18 25 4
gpt4 key购买 nike

我有 3 个矩形,它们的大小和位置非常完美......在 iPhone 6 和 7 plus 上。当我在较小的 iPhone 或 iPad 上运行它时,它看起来完全错误。

我可以在应用程序的开头创建一个巨大的 if 语句来检查设备,然后相应地为变量赋值,但必须有更好的方法,对吧?大多数应用程序如何调整所有内容的大小和位置,以便应用程序在每个设备上看起来几乎相同?

    let blueRect = UIView(frame:CGRect(x: self.view.frame.size.width / 2 - 100, y: 100, width: 200, height: 100))

blueRect.backgroundColor = UIColor.blue

self.view.addSubview(blueRect)



let greenRect = UIView(frame:CGRect(x: self.view.frame.size.width / 2 - 100, y: 300, width: 200, height: 100))

greenRect.backgroundColor = UIColor.green

self.view.addSubview(greenRect)



let redRect = UIView(frame:CGRect(x: self.view.frame.size.width / 2 - 100, y: 500, width: 200, height: 100))

redRect.backgroundColor = UIColor.red

self.view.addSubview(redRect)

最佳答案

回答你的问题,

but there has to be a better way, right? How do most apps size and position everything so the app looks pretty much the same on every device?

是的,有,更好的方法是自动布局

如果您是 iOS 新手,我强烈建议您在 storyboard 中进行操作。更容易理解自动布局在 iOS 中的工作原理。有非常好的教程可以帮助您理解自动布局。查看 Ray Wenderlich 的作品 website .

如果您确实希望以编程方式执行此操作,即使您尝试在代码中定义相对大小,当您有更多 View 时也会变得非常困惑。 自动布局约束仍然是要走的路。然而,苹果的方式Programmatically Creating Constraints实际上太冗长了,而且在我看来,使用起来很麻烦。外部框架如 Spring以编程方式完成此操作将有很大帮助。

最终,无论您选择哪条路,对 iOS 中的自动布局约束 的深入理解都非常重要。如果没有它,为这么多不同的 Apple 设备创建合适的 View 将非常困难。

关于ios - 如何以编程方式将图像设置为在每个设备上具有相同的相对大小和位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com