我最初的计划是使用拆分视图控制器在 iPad 应用程序旁边有一个表格视图和一个通用视图。然后我意识到我不能将拆分视图控制器用作子控制器。所以,我一直在尝试使用表格视图控制器,到目前为止我已经得到了很好的结果。本质上,我使用 tableview 的标题视图作为我将根据选择的行使用的各种视图的容器。唯一未解决的问题是网站的图像在第一次呈现时不会显示在 UIWebView 中。如果我点击另一个显示 Web 视图的表格行,它会显示得很好。如果我再次点击原来的那个,它也显示得很好。
我先点击哪个并不重要。它总是第一个不显示图像的。它不显示图像,而是显示图像文件的名称。
当我用拆分视图控制器尝试类似的事情时,我没有遇到这个问题。
任何想法我应该寻找什么?或者有什么我需要做而我不能做的事情?
如果重要的话,正在加载的页面只是远程服务器上的缩略图页面,由 Irfanview 的 HTML 缩略图页面生成器创建。
PS 经过进一步测试,这确实是第一个演示文稿,只是没有按预期工作。首先,我的意思是每个应用程序会话的第一个。显示UIWebview
为表头的子视图。表格视图控制器显示为来自另一个控制器的按钮的弹出框,当用户点击图像时显示该按钮。即使我关闭所有这些控制器层等,如果我再次实例化它们,也会UIWebView
正确显示。
这表明可能在开始之前加载一个假人UIWebView
,但这似乎很笨拙。
我接到一个电话,webViewDidStartLoad:
一个电话,一个电话webViewDidFinishLoad:
,没有电话webView:didFailLoadWithError:
。
KLUDGE:kludge 有效。这里是:
在我的表视图控制器中,我创建了一个布尔属性URLHasBeenRequested
并将其设置为NO
viewDidLoad。然后我要求重新加载:
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
if (!self.URLHasBeenRequested) {
//On first pass, try a second request.
[webView loadRequest:webView.request];
self.URLHasBeenRequested = YES;//Set this flag so a duplicate request happens only the first time.
}
}