在Swift中,为什么这个例子中.zero填满了整个window?

In Swift, why does .zero fill the entire window in this example?

我正在学习有关在视图控制器中创建 WKWebView 的教程,并且 WKWebView 是使用 CGRect 值 .zero 实例化的,但是当我 运行 时网站会打开视图控制器的整个大小此代码:

import Foundation
import UIKit
import WebKit

class WebViewController: UIViewController{

    var webView: WKWebView!

    override func loadView() {
        let myURL = URL.init(string: "https://www.apple.com")
        let webConfiguration = WKWebViewConfiguration()
        let myUrlRequest = URLRequest.init(url: myURL!)
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        view = webView
        webView.load(myUrlRequest)
    }
}

对于 CGRect 中的所有值,.zero 不是意味着 0 吗?

您提供的框架无关紧要。您正在实施 loadView(而不是 viewDidLoad)。您在代码中创建的 Web 视图 webview 是此视图控制器的 主视图 。视图控制器的主视图的框架从不由你决定;它总是由其父视图控制器调整大小,或者,如果它是 window 的 rootViewController,则填充 window。