如何在UIWebView中加载不同页面时添加导航

  • 本文关键字:添加 导航 UIWebView 加载 ios
  • 更新时间 :
  • 英文 :


我正在加载本地。html文件到UIWebView中,然后如果用户点击。html文件中的链接或按钮,另一个页面将被加载,可能是本地或远程。(我将这些直接加载到相同的UIWebView中,因此Safari不会被调用)。

如果从第一个链接的页面被加载,我希望导航栏出现,并出现一个后退按钮,这样用户就可以导航回起始页,就好像网页在本地应用程序的视图。实现这一目标的最佳方式是什么?是否有可能使用本地结构,而不是在页面本身放置反向链接或放置一些JavaScript等?

谢谢

最好的方法是实现

– webView:shouldStartLoadWithRequest:navigationType:

这个委托。当你的webview准备发出请求时,这个方法会被调用。当有人点击你网页上的一个按钮时,你会得到对这个方法的调用。在你接到这个电话后,你可以选择对它做任何你想做的事情。比如通过你自己的服务器重定向链接,或者记录一个关于用户活动的请求到你的服务器等。在您的示例中,显示激活了后退按钮的导航栏。

示例-这里myMethodAction是您想要放置导航栏外观逻辑的地方。

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{ 
    if(navigationType == UIWebViewNavigationTypeLinkClicked)
    {
         if(overrideLinksSwitch.on == TRUE)
         {
             [self myMethodAction];
             [myWebView stopLoading];
             return YES;
         }
        else
        {
            return YES;
        }
    }
    return YES;
}

最新更新