主屏幕尺寸总是320x480?

Posted

技术标签:

【中文标题】主屏幕尺寸总是320x480?【英文标题】:Main screen size is always 320x480? 【发布时间】:2018-06-27 21:20:49 【问题描述】:

我注意到一些奇怪的事情:如果我从 ios 应用项目中删除所有启动图像/故事板,那么UIScreen.main.bounds 会缩小到 320x480,而不管实际屏幕尺寸如何。

我的问题是:我是否需要启动图像/故事板来确保主屏幕的大小正确?

这是一个代码示例:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate 

  var window: UIWindow?

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 

    let screenBounds = UIScreen.main.bounds
    print(String(describing: screenBounds)) // Prints "(0.0, 0.0, 320.0, 480.0)"

    window = UIWindow(frame:screenBounds)
    window!.rootViewController = MyViewController()
    window!.makeKeyAndVisible()

    return true
  

这是我的模拟器屏幕(iPhone 8 plus,iOS 11.2):

【问题讨论】:

【参考方案1】:

如果您没有任何启动图像,并且您没有启动笔尖或情节提要,那么您声明您不支持除 320x480(在 iPhone/iPod 上)之外的任何屏幕尺寸。这有一直都是这样,但较旧的 Xcode 项目会自动生成一个 png 以支持 4" 屏幕。如果您使用 iPhone 6 或 iPhone 6 Plus,这可能是不可见的,因为如果您有 4" 屏幕支持的默认图像,这些设备缩放您的应用程序,而不是对它们进行信箱操作。

我认为字母装箱是为了确保您的 UI 不会被 iPhone X 的一流水平所破坏,并成为新的默认行为而不是缩放。

将启动图像或情节提要添加到您支持的屏幕尺寸的项目中应该可以解决此问题

【讨论】:

这就是全部。很好的答案。

以上是关于主屏幕尺寸总是320x480?的主要内容,如果未能解决你的问题,请参考以下文章

获取我的主屏幕小部件的大小

Android 屏幕适配

ipad2020屏幕尺寸

如何更改VirtualBox默认的最大屏幕尺寸

如何根据屏幕尺寸从离子菜单中动态更改一侧?

如何更改VirtualBox默认的最大屏幕尺寸