如何使用Webview frame = self.view.bounds使导航栏可见?

时间:2018-01-10 02:50:40

标签: ios iphone swift webview

我的问题是导航栏位于我的WebView 后面,因为它的框架是self.view.bounds,应用程序不显示导航栏。如果我忽略了WebView frame = self.view.bounds,我的WebView就不适合iPhone 8设备模拟的屏幕。

如何让我的WebView适合右侧,左侧和底部屏幕两侧并在顶部显示我的导航栏???

我尝试修改我的WebView 内容模式,但没有任何反应......

导航栏工作正常后退和刷新按钮。问题是使用myWebView.frame = self.view.bounds使WebView适合屏幕导航栏隐藏在myWebView后面:(

我的代码

<div [innerHTML]="theHtmlString"></div>

my storyboard image

谢谢;)

2 个答案:

答案 0 :(得分:1)

试试这个:

override func viewDidLoad() {
    super.viewDidLoad()

    let navBarHeight: CGFloat = self.navigationController?.navigationBar.frame.height ?? 0.0


    title = "Webview"
    view.backgroundColor = .white

    let webView = UIWebView()
    webView.translatesAutoresizingMaskIntoConstraints = false

    view.addSubview(webView)

    webView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: navBarHeight).isActive = true
    webView.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
    webView.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
    webView.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true

    let request = URLRequest(url: URL(string: "https://apple.com")!)
    webView.loadRequest(request)

}

希望有所帮助

答案 1 :(得分:0)

最后我解决了这个问题。我做的是:

1.-选择我的查看控制器

2.-在菜单上单击编辑器&gt; 嵌入&gt; 导航控制器

Xcode添加导航控制器,并在视图控制器上添加了导航项。在此导航项目上,您可以添加条形按钮项,例如用作后退按钮或刷新按钮。

之前做的一切,我仍然使用:

round()

我的WebView适用于使用不同设备的所有屏幕,导航栏非常适合:)