我在Grouped Table View中有一个UIWebView,并且由于一个单元格的高度是可变的,我希望函数heightForRowAtIndexPath等待webViewDidFinish的计算。我怎样才能做到这一点 ?
答案 0 :(得分:0)
没试过,但如果你做了[_myTable reloadData];在你的webViewDidFinish结尾?那应该重新加载表信息。
或者您可以尝试使用while循环的BOOL?
在发送请求之前将boolStillLoading设置为true,然后在它返回时将其设置为false
viewDidLoad...
while(boolStillLoading){
sleep(.2);
}
它不是很好或者可能是最有效的方式,但是当你在它之前执行之前它会阻止表加载。
很想看到其他方法......
答案 1 :(得分:0)
您无法明确停止调用heightForRowAtIndexPath,但您可以对此进行调整。在loadingweb视图之后再次调用表重新加载数据的高度。
使用Web视图委托方法。
– webView:shouldStartLoadWithRequest:navigationType:
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError:
在webViewDidFinishLoad中存储变量值(用于hieght),然后调用tableview重载数据。现在在cellForRowAtIndex方法中使用此变量作为高度。