2011-12-02 65 views
0

我加载本地.html文件到一个UIWebView加载不同的页面时,那么当另一个页面将被装载在.html文件中的链接或按钮的用户点击可以是本地如何添加导航或远程。 (我将这些直接加载到相同的UIWebView中,所以Safari不会被调用)。在一个UIWebView

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

感谢

回答

0

最好的办法是实行

– webView:shouldStartLoadWithRequest:navigationType: 

delegate。只要您的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; 
} 

希望这有助于...