gpt4 book ai didi

ios - 为显示的 ViewController 设置约束

转载 作者:可可西里 更新时间:2023-11-01 00:54:29 25 4
gpt4 key购买 nike

我正在将 ViewController 推到我当前的 ViewController 之上。

我想推送的 ViewController 是一个 WebView,但我想这无关紧要。

Screenshot of the pushed ViewController

我不希望呈现的 ViewController 位于状态栏下方。但是我该如何设置这些约束呢?

这是我加载推送的 ViewController 的代码:

@objc func loadWebView(sender: UIButton) {

let vc = WebViewVC()

webViewVC = vc

self.present(webViewVC!, animated: true, completion: nil)

}

如果我为 webViewVC.view 设置与父 ViewController 的 View 相关的约束,它当然会告诉我这是不允许的,因为 View 位于不同的 View 层次结构中。

这是我在 WebViewVC 中设置布局的方式:

func setUpView() {
let view = UIView()
self.view = view
view.st(navigationBar,webView)

navigationBar.heightAnchor.constraint(equalTo: webView.heightAnchor, multiplier: 0.1).isActive = true
navigationBar.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0).isActive = true
navigationBar.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
navigationBar.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
navigationBar.bottomAnchor.constraint(equalTo: webView.topAnchor, constant: 0).isActive = true


webView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0).isActive = true
webView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
webView.topAnchor.constraint(equalTo: navigationBar.bottomAnchor, constant: 0).isActive = true
webView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
}

最佳答案

根据苹果文档:

The layout guide representing the portion of your view that is unobscured by bars and other content.

更改导航栏顶部 anchor :

if #available(iOS 11, *) {
let guide = view.safeAreaLayoutGuide
navigationBar.topAnchor.constraint(equalTo: guide.topAnchor).isActive = true

} else {
navigationBar.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor).isActive = true
}

关于ios - 为显示的 ViewController 设置约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52963082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com