Swift:确定iOS屏幕尺寸[重复]
Posted
技术标签:
【中文标题】Swift:确定iOS屏幕尺寸[重复]【英文标题】:Swift: Determine iOS Screen size [duplicate] 【发布时间】:2014-06-08 20:58:57 【问题描述】:无论屏幕大小如何,我都想使用 Swift 代码在我的应用中正确定位项目。例如,如果我希望按钮占屏幕宽度的 75%,我可以使用 (screenWidth * .75)
之类的方法来设置按钮的宽度。我发现这可以通过在 Objective-C 中确定
CGFloat screenWidth = screenSize.width;
CGFloat screenHeight = screenSize.height;
不幸的是,我不确定如何将其转换为 Swift。有人有想法吗?
谢谢!
【问题讨论】:
【参考方案1】:在 Swift 5.0 中
let screenSize: CGRect = UIScreen.main.bounds
Swift 4.0
// Screen width.
public var screenWidth: CGFloat
return UIScreen.main.bounds.width
// Screen height.
public var screenHeight: CGFloat
return UIScreen.main.bounds.height
在 Swift 3.0 中
let screenSize = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
在较旧的 swift 中: 做这样的事情:
let screenSize: CGRect = UIScreen.mainScreen().bounds
然后你可以像这样访问宽度和高度:
let screenWidth = screenSize.width
let screenHeight = screenSize.height
如果您想要屏幕宽度的 75%,您可以:
let screenWidth = screenSize.width * 0.75
【讨论】:
当然你不需要分号(我知道多年来的 C 编码习惯 :-)),你可以省略 :CGRect 并写 let screenSize = UIScreen.mainScreen()。 bounds 和 screenSize 将从分配中推断类型。 必须小心,因为此解决方案没有考虑设备方向。在横向宽度和高度交换 设备旋转时如何调整大小 Swift 3 是 UIScreen.main.bounds,而不是 UIScreen.main().bounds 这不适用于拆分视图。该应用程序处于拆分视图中,但仍会返回,就好像它占据了 iPad 的全屏一样。以上是关于Swift:确定iOS屏幕尺寸[重复]的主要内容,如果未能解决你的问题,请参考以下文章