【问题标题】:Loading a webivew inside a webview in iOS在 iOS 中的 webview 中加载 webview
【发布时间】:2012-06-12 09:35:59
【问题描述】:

我在加载 UIWebView 时遇到问题。我有一个 webview(1st) 加载了一个 url。当加载该页面时,我正在创建一个在顶部有 webview (2nd) 的小视图第一个 webview,它正在加载第二个 url。基本上我在 webview 中加载一个 webview。单击第二个 webview 中的 url,生成的 url 必须在应用程序外部的 safari 中打开。 如果我没有设置[webview setDelegate:self],那么页面会按预期加载到小型 web 视图中,但点击时,什么都没有发生..

但是,如果我将第二个 UIWebView 的委托设置为 self,则需要在第二个 UIWebView 中加载的 url 将在第一个 url 中加载。

以前有没有人做过这种 webview 加载。 请帮忙。非常感谢您的帮助

谢谢

【问题讨论】:

  • 你能把你的代码贴在这里吗?我认为您可以将 self 设置为两个 webview 的委托,然后使用委托方法处理链接应如何打开(您可以通过存储对两个 web 视图的弱引用并比较来区分调用是否来自哪个 web 视图)。跨度>
  • 听起来您的委托方法对应该由哪个 webview 处理请求感到困惑;您可以设置 UIWebView 的标签属性(NSInteger)来识别哪个是哪个。

标签: ios ios5 uiwebview uiwebviewdelegate


【解决方案1】:

在您当前的课程中,您应该测试 UIWebView 代表正在处理的问题 第一组:

webView.delegate = self;

然后在shouldStartLoadWithRequest:

//UIWebView *smallWebView;
//UIWebView *mainWebView;
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
     if(webView == smallWebView
     {
         //Load stuff on safari
     }
     else
     {
         //This means that link was pressed in the mainWebView
         //Depending on your logic, you will load the smallWebView 
     }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-08
    • 2014-04-07
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 2016-01-18
    相关资源
    最近更新 更多