Xcode / Swift / UIScreen.main.bounds.size.height 返回 0

Posted

技术标签:

【中文标题】Xcode / Swift / UIScreen.main.bounds.size.height 返回 0【英文标题】:Xcode / Swift / UIScreen.main.bounds.size.height Returning 0 【发布时间】:2018-07-18 17:09:34 【问题描述】:

下面的代码返回 0。我已经尝试了所有我能找到的示例,但它仍然总是返回 0。我在 XCode 9.4.1 上

    // Screen Size
    let screenSize = UIScreen.main.bounds
    let screenWidth = screenSize.width
    let screenHeight = screenSize.height

    NSLog("Screen Height is %i", screenHeight);
    NSLog("Screen Width is %i", screenWidth);
    // Screen Size

【问题讨论】:

【参考方案1】:

只需使用print() 打印语句

print("Screen Height is \(screenHeight)")
print("Screen Width is \(screenWidth)")

在您的情况下,%i 正在请求一个整数,而 screenHeightscreenWidth 是浮点数。因此使用%f

NSLog("Screen Height is %f", screenHeight);
NSLog("Screen Width is %f", screenWidth);

【讨论】:

谢谢,解决了。我知道它必须很简单,但是所有的样本都和我发布的一样。奇怪...【参考方案2】:

使用print()

print("Screen Height is", screenHeight)
print("Screen Width is", screenWidth)

%f

NSLog("Screen Height is %f", screenHeight)
NSLog("Screen Width is %f", screenWidth)

【讨论】:

以上是关于Xcode / Swift / UIScreen.main.bounds.size.height 返回 0的主要内容,如果未能解决你的问题,请参考以下文章

“UIScreen”没有成员“main”

使用高内存的 Swift 进程

Xcode HTML到字符串返回零?- SWIFT 3

Xcode - 如何在不更改 UIScreen 大小的情况下添加 xib 启动屏幕

记一个swift UIscreen界面问题

UIScreen 亮度上的 Swift 选择器在调用时返回 UIDevice