我注意到一些奇怪的事情:如果我从 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):
如果您没有任何启动图像,并且没有启动笔尖或故事板,那么您就声明您不支持除 320x480(在 iPhone/iPod 上)之外的任何屏幕尺寸。这一直都是正确的但较旧的 Xcode 项目会自动生成 png 来支持 4 英寸屏幕。如果您使用过 iPhone 6 或 iPhone 6 Plus,这可能是不可见的,因为如果您有支持 4 英寸屏幕的默认图像,这些设备会缩放您的应用程序而不是把它们装箱。
我认为信箱是为了确保你的 UI 不会被 iPhone X 的顶级功能破坏,并成为新的默认行为而不是缩放。
将启动图像或故事板添加到您支持的屏幕尺寸的项目中应该可以解决此问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)