Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在uiwebview显示本地HTML页面前几毫秒出现空白屏幕_Iphone_Html_Ios_Uiwebview_Uinavigationcontroller - Fatal编程技术网

Iphone 在uiwebview显示本地HTML页面前几毫秒出现空白屏幕

Iphone 在uiwebview显示本地HTML页面前几毫秒出现空白屏幕,iphone,html,ios,uiwebview,uinavigationcontroller,Iphone,Html,Ios,Uiwebview,Uinavigationcontroller,我有一个显示表视图的UINavigationController。当我单击一行时,我会在包含UIWebView的堆栈上推送一个新视图。 在视图控制器中,我在UIWebView中加载了一个本地HTML页面。它工作正常,只是当第一次启动应用程序时,当UIWebView显示时,会出现一个空白的白色屏幕,在真正显示HTML内容之前的1秒钟内会按下该屏幕。 下一次空白空白屏幕也显示,但只有几毫秒。 在显示HTML之前,如何避免出现这种空白的白色屏幕? 下面是我用来在uiWebView中显示HTML文件的代

我有一个显示表视图的UINavigationController。当我单击一行时,我会在包含UIWebView的堆栈上推送一个新视图。 在视图控制器中,我在UIWebView中加载了一个本地HTML页面。它工作正常,只是当第一次启动应用程序时,当UIWebView显示时,会出现一个空白的白色屏幕,在真正显示HTML内容之前的1秒钟内会按下该屏幕。 下一次空白空白屏幕也显示,但只有几毫秒。

在显示HTML之前,如何避免出现这种空白的白色屏幕? 下面是我用来在uiWebView中显示HTML文件的代码

    NSString *localizedAboutHTML = NSLocalizedString(@"About", @"Filename of the HTML page to be displayed depending on the language");
    NSString *path = [[NSBundle mainBundle] pathForResource:localizedAboutHTML ofType:@"html"];
    NSURL* baseURL = [NSURL fileURLWithPath:path];
    NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];

    NSString *htmlString = [[NSString alloc] initWithData: 
                  [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];

webView.opaque = YES;
webView.backgroundColor = [UIColor blackColor];
[self.webView loadHTMLString:htmlString baseURL:baseURL];
[super viewWillAppear:animated];
谢谢


Séb.

因为WebView加载可能需要更长的时间,这取决于您的HTML文件。如果您不想在短时间内显示白色屏幕,为什么不添加活动指示器以显示webview正在为用户加载。还有一个选项是在webView委托方法中完成webView加载后隐藏webView并显示它
webViewDidFinishLoad:(UIWebView*)webView

非常感谢。我刚刚用webViewDidFinishLoad方法实现了委托UIWebDelegate,它工作得非常好。我不需要添加活动指示器,因为我的页面加载速度非常快,因为它是嵌入在我的应用程序中的HTML文件。