我的分组表视图中有一个 UIWebView,并且因为一个单元格的高度是可变的,我希望函数 heightForRowAtIndexPath 在计算之前等待 webViewDidFinish。我怎样才能做到这一点 ?
user1163463
问问题
235 次
2 回答
0
您不能停止显式调用 heightForRowAtIndexPath,但您可以对此进行调整。再次加载web视图后调用表重新加载高度数据。
使用相同的 Web 视图委托方法。
– webView:shouldStartLoadWithRequest:navigationType:
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError:
在 webViewDidFinishLoad 中存储变量值(对于 hieght),然后调用 tableview 重新加载数据。现在在 cellForRowAtIndex 方法中使用这个变量作为高度。
于 2013-03-28T09:29:08.060 回答
0
没试过,但是如果你做 [_myTable reloadData]; 在你的 webViewDidFinish 结束时?那应该重新加载表信息。
或者你可以尝试一个带有while循环的BOOL?
在发送请求之前将 boolStillLoading 设置为 true,然后当它返回时将其设置为 false
viewDidLoad...
while(boolStillLoading){
sleep(.2);
}
这不是漂亮的或可能是最有效的方法,但它会在您执行之前的内容时阻止加载表。
虽然很想看到其他方法......
于 2013-03-27T19:37:19.210 回答