我有一个显示表视图的UINavigationController。当我单击一行时,我在包含UIWebView的堆栈上推送一个新视图。 在View Controller内部,我在UIWebView中加载了一个本地HTML页面。它工作正常,除了在显示UIWebView时第一次启动应用程序时,有一个空白的白色屏幕在1秒之前被推送以真正显示HTML内容。 下一次显示空白屏幕,但只有几毫秒。
如何在显示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];
谢谢,
SEB。
答案 0 :(得分:2)
因为WebView加载可能需要更长时间,具体取决于您的HTML文件。如果您不希望在短时间内显示白屏,为什么不添加活动指示器以显示正在为用户加载webview。还有一个选项是隐藏webView并在webview委托方法webViewDidFinishLoad:(UIWebView *)webView