解除全屏模式后,UIWebView将被清除

时间:2010-10-17 04:30:49

标签: iphone uiwebview

我有一个UIWebView,它在viewDidLoad上加载一个html字符串。它检测用户是否单击链接并显示模态视图,但是当我关闭模态视图时,UIWebView的html已经消失了!如果我使用FormSheet模式样式,内容会留下来,它唯一的全屏模式会导致这种情况。显然我可以在viewWillAppear上再次输入html字符串来修复它,但是这会导致内容重新回到我不想要的状态。继承我的代码:

-(void)viewDidLoad {
    [self loadArticleText];
...
}

-(void)loadArticleText {
   NSString *htmlHead = @"<html><head>...";
   NSString *htmlFoot = @"</body></html>";
   NSString *htmlContent = [self.articleData valueForKey:@"fulltext"];

   NSString *html = [[NSString alloc] initWithFormat:@"%@%@%@", htmlHead, htmlContent, htmlFoot];

   [self.articleView loadHTMLString:html baseURL:nil];
   [html release];
}

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
   if (navigationType == UIWebViewNavigationTypeLinkClicked) {
       NSURL *URL = [request URL];          
       ImageViewer *imageView = [[[ImageViewer alloc] initWithNibName:@"ImageViewer" bundle:nil] autorelease];
       imageView.imageURL = URL;
       [self presentModalViewController:imageView animated:YES];
       return NO; 
   } else {
       return YES;
   }

}

如果我改变'返回NO;' '返回YES;' webView内容保持不变,但很明显它会加载图像。

任何帮助?

由于

1 个答案:

答案 0 :(得分:0)

[self presentModalViewController:ImageView animated:YES];

看起来你正在进行类调用,而不是在ImageView上进行实例调用。