Uiwebview 用 Swift 隐藏/显示 UInavigationbar

Posted

技术标签:

【中文标题】Uiwebview 用 Swift 隐藏/显示 UInavigationbar【英文标题】:Uiwebview hide/show UInavigationbar with Swift 【发布时间】:2015-07-01 13:15:12 【问题描述】:

我正在尝试实现一个非常简单的 UIWebView,它使用 UINavigationBar 在 Swift 中进行导航。我是 ios 编程新手,花了很多时间尝试提出的解决方案,但我完全陷入困境。故事板看起来像:

->查看

->->导航栏

->->网页视图

只有当我不在主页上时,导航栏才会返回到 Web 视图中。我正在尝试使用如下所示的 sn-p 自动隐藏 webview 主页上的导航栏。但是,当我尝试使用 self.Webview.frame = self.view.bounds 调整 Web 视图的大小时,它会显示与运营商和电池图标所在的页面顶部重叠。如果我不进行调整大小,我会在 UINavigationBar 隐藏的地方得到一个空白区域。

func webViewDidFinishLoad(webView: UIWebView) 
    let currentUrl : NSString = (Webview.request?.URL!.absoluteString)!
    var currentUrlString = currentUrl as String
    if currentUrlString.rangeOfString("index.html") != nil 
        //HIDE THE NAVIGATION BAR
        myNavigationBar.hidden=true
        //ADJUST THE WEBVIEW SIZE TO ACCOUNT FOR THE HIDDEN BAR
        self.Webview.frame = self.view.bounds
     else 
        myNavigationBar.hidden=false
        Webview.frame = self.view.bounds
    

【问题讨论】:

【参考方案1】:

用途:

self.navigationController?.navigationBarHidden = false // or true

代替:

myNavigationBar.hidden

【讨论】:

我没有连接导航控制器。即使我依靠 webview 进行导航而不是应用程序,这是否需要?顺便说一句,我修复了情节提要层次结构的格式。

以上是关于Uiwebview 用 Swift 隐藏/显示 UInavigationbar的主要内容,如果未能解决你的问题,请参考以下文章

Swift:在 UIWebview Scroll 上隐藏 UIStackView

UIWebView 不显示(Swift)

swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)

显示谷歌地图时隐藏 UiWebview 的地址栏

在 UIWebView 中隐藏 sharedmenucontroller 中的额外项目

UIWebview GestureRecognizer 用于显示工具栏