我创建了一个示例 iOS 应用程序,其中删除了故事板、启动屏幕、
SceneDelegate
,并创建了一个空白的 UIViewController
主视图控制器:
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .green
}
}
应用程序委托:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = MainViewController()
window?.makeKeyAndVisible()
return true
}
}
信息.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict/>
</plist>
我的问题是我的视图没有占据屏幕的整个高度,我认为
UIWindow(frame: UIScreen.main.bounds)
应该足够了,但我一直看到这个屏幕
“我删除了......启动屏幕”
这就是问题所在。所有 iOS 应用程序都必须有一个启动屏幕故事板,即使应用程序的其余部分是在没有故事板的情况下完成的。至少对于基于 UIKit 的应用程序来说是这样,但不确定 SwiftUI 应用程序是否如此。
如果没有启动屏幕故事板,应用程序将退回到仅支持旧的 3.5 英寸(或可能 4 英寸)iOS 设备尺寸。这会导致较大设备上出现黑条(称为信箱)。包含启动屏幕故事板告诉应用程序它可以处理所有可能的屏幕尺寸。
您的启动屏幕故事板应该复制应用程序初始屏幕的大大简化版本。整个想法是让用户产生应用程序启动速度比实际速度更快的错觉。尽管在更新、更快的硬件上,它的实用性已经减弱。
我还必须将新创建的启动屏幕添加到:常规>启动屏幕文件
我正在构建一个 Mac 应用程序,后来添加了 iOS,这导致了这个问题。