ios - 将加载屏幕添加到多个 UIWebView

标签 ios uiwebview

我正在构建一个具有多个 uiwebviews 的应用程序。我想添加加载屏幕以使应用程序更易于使用。我使用此代码为我的一个 WebView 添加了一个。

- (void)webViewDidStartLoad:(UIWebView *)vieWeb
{
_loadingmain.hidden=NO;
}

- (void)webViewDidFinishLoad:(UIWebView *)viewWeb
{
_loadingmain.hidden=YES;
}

viewWeb 是我的 uiwebviews 之一的名称。如何为我的另外两个 WebView 添加加载屏幕?为 webview 添加具有不同名称的相同代码会导致错误“方法 webViewDidFinishLoad 的重复声明”。任何帮助将不胜感激。谢谢!

最佳答案

所以你在一个页面上有多个 UIWebView,对吧?如果是这样,您有几个选择:

1) 创建 UIWebView 的子类并将其自身设置为 Web View 委托(delegate),这样每个 UIWebView 子类都会处理它自己的加载 View 。

2)您还可以创建加载 View 的多个实例并执行类似的操作

-(void)webViewDidStartLoad:(UIWebView *)webView
{
    if( webView == self.webView1 )
    {
        [self.webView1 addSubview:self.loadingView1];
    }
    else if( webView == self.webView2 )
    {
        [self.webView2 addSubview:self.loadingView2];
    }
    //repeat for other webviews
}   

-(void) webViewDidFinishLoad:(UIWebView *)webView
{
    if( webView == self.webView1 )
    {
        [self.loadingView1 removeFromSuperview];
    }
    else if( webView == self.webView2 )
    {
        [self.loadingView2 removeFromSuperview];
    }
    //repeat for other webviews
}   

关于ios - 将加载屏幕添加到多个 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732588/

相关文章:

ios - 发送给观众的 Firebase 通知没有到达它应该到达的所有设备

ios - iOS 上嵌入 YouTube 视频的媒体回调

ios - 在 iOS 中从 HTML 文件中查找嵌入的 Flash 内容

iphone - iOS iPhone MVC 基础知识

ios - 核心数据多上下文同步

ios - 考虑所有字符进行URL Encode,post数据,iOS完整解决方案

ios - UIView(或 UIWebView)中的视频

ios - 来自 SKPhysicsBody applyImpulse 的奇怪行为

ios - 如何将 html 页面(URL)插入 SQLite 数据库?

iphone - UIWebView 显示本地存储的网站(HTML、图片、Javascript)