在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。
我正在学习有关在视图控制器中创建 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。