【发布时间】:2013-11-01 02:56:06
【问题描述】:
我最初的计划是使用拆分视图控制器来为 iPad 应用程序提供一个表格视图和一个通用视图。然后我意识到我不能使用拆分视图控制器作为子控制器。所以,我一直在尝试使用表格视图控制器,到目前为止我已经得到了很好的结果。本质上,我使用 tableview 的标题视图作为我将根据选择的行使用的各种视图的容器。唯一未解决的问题是网站的图像在第一次呈现时不会显示在 UIWebView 中。如果我点击另一个显示 Web 视图的表格行,它会显示得很好。如果我再次点击原始的,它也显示正常。
我先点击哪个并不重要。它总是第一个不显示图像的。它不显示图像,而是显示图像文件的名称。
当我用拆分视图控制器尝试类似的事情时,我没有遇到这个问题。
任何想法我应该寻找什么?或者有什么我必须做而我不能做的事情?
如果重要的话,正在加载的页面只是远程服务器上的缩略图页面,由 Irfanview 的 HTML 缩略图页面生成器创建。
附:经过进一步的测试,它确实是第一个演示文稿,只是没有按预期工作。首先,我的意思是每个应用程序会话的第一个。 UIWebview 显示为表头的子视图。 tableview 控制器显示为来自另一个控制器的按钮的弹出窗口,当用户点击图像时显示该按钮。即使我关闭所有这些控制器层等,如果我再次实例化它们,UIWebView 也会正确显示。
这表明可能在开始之前加载一个虚拟的UIWebView,但这看起来很笨拙。
webViewDidStartLoad: 正好接到一个电话,webViewDidFinishLoad: 正好接到一个电话,webView:didFailLoadWithError: 没有接到任何电话。
知识: 杂牌起作用了。这里是:
在我的表视图控制器中,我创建了一个布尔属性 URLHasBeenRequested 并在 viewDidLoad 中将其设置为 NO。然后我要求重新加载:
-(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.
}
}
【问题讨论】:
标签: ios objective-c uitableview uiwebview