Ios5 webView加载HTMLSTRING完成?
关于这一点有几个问题,其中有一个关于嵌入html字符串中的脚本的解决方案。我的情况不是这样 我有一个ios5/6应用程序。 我试图将加载代码放入Ios5 webView加载HTMLSTRING完成?,ios5,uiviewcontroller,uiwebview,ios6,Ios5,Uiviewcontroller,Uiwebview,Ios6,关于这一点有几个问题,其中有一个关于嵌入html字符串中的脚本的解决方案。我的情况不是这样 我有一个ios5/6应用程序。 我试图将加载代码放入initWithNibName坏主意,viewDidLoad已被弃用,因此viewwillbeen将显示在左侧 - (void) viewWillAppear:(BOOL)animated { NSString* detailHtml = [Storage getDetailHtml: -1];// get the last one /
initWithNibName
坏主意,viewDidLoad
已被弃用,因此viewwillbeen
将显示在左侧
- (void) viewWillAppear:(BOOL)animated
{
NSString* detailHtml = [Storage getDetailHtml: -1];// get the last one
//NSLog(@"detailHtml: %@", detailHtml);
if(detailHtml == nil){
NSLog(@"Can't load the detail");
detailHtml = @"<html><body>Some text here</body></html>";
}
[webView loadHTMLString:detailHtml baseURL:nil];
[super viewWillAppear:animated];
}
-(void)视图将显示:(BOOL)动画
{
NSString*detailHtml=[Storage getDetailHtml:-1];//获取最后一个
//NSLog(@“detailHtml:%@”,detailHtml);
如果(detailHtml==nil){
NSLog(@“无法加载详细信息”);
detailHtml=@“此处有一些文本”;
}
[webView loadHTMLString:DetailHtmlBaseURL:nil];
[超级视图将显示:动画];
}
此代码的问题是闪烁。它出现在UIViewController中,带有白色网络视图,在1-2秒后显示为html。HTML有一些文本,但也有base64编码的图像,有时是3Mb甚至5MB的内容。这里没有javascript,只有内联CSS(没有外部文件)、文本和Base64编码的图像
我可以将文本预加载到detailHtml
中,但我认为显示需要更多的时间
在webView尚未完成html加载之前,是否可以不显示ViewController要回电话吗
有什么建议吗?加载HTML字符串默认值需要一点时间。但是如果一切正常,为什么不把
UIActivityIndicator
放进去,这样可以让用户参与应用程序。甚至比保持它为空要好得多
以下是UIWebView
的委托方法之一:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//And stop your indicator over here
[indicator stopAnimating];
}
加载HTML字符串需要一点时间。但是,如果一切正常,为什么不放置UIActivityIndicator,以便让用户参与应用程序。甚至比将其保留为空白要好得多。@AjaySharma以及何时停止指示器?:)刚要求回拨:)有委托方法使用此:-(无效)webViewDidFinishLoad:(UIWebView*)webView。并在此处停止您的指标。@AjaySharma请添加您的评论作为答案,以便接受和投票!谢谢我喜欢你的帮助;)如果真的不想让用户看到白色的东西,我希望我可以从调用UIViewController的用户那里调用回调,然后只弹出它,现在一切正常,谢谢你是对的兄弟。。但这通常是那些不希望自己的视图被弹出并加载到同一屏幕上的人,那时,这个委托方法将非常有用。