グループ化されたテーブル ビューに UIWebView があり、1 つのセルの高さが可変であるため、関数 heightForRowAtIndexPath が計算される前に webViewDidFinish を待機する必要があります。どうやってやるの ?
user1163463
質問する
235 次
2 に答える
0
試したことはありませんが、[_myTable reloadData]; を実行するとどうなりますか? あなたのwebViewDidFinishの最後に? これにより、テーブル情報がリロードされます。
または、while ループで BOOL を試すことができますか?
リクエストを送信する前に boolStillLoading を true に設定し、戻ってきたら false に設定します
viewDidLoad...
while(boolStillLoading){
sleep(.2);
}
それはきれいではないか、おそらく最も効率的な方法ではありませんが、テーブルの前に何かを実行している間、テーブルがロードされないようにします。
他のアプローチを見たいのですが...
于 2013-03-27T19:37:19.210 に答える
0
heightForRowAtIndexPath の呼び出しを明示的に停止することはできませんが、これを調整することはできます。loadweb ビューを再度呼び出した後、高さのテーブル リロード データを呼び出します。
同じために Web ビュー デリゲート メソッドを使用します。
– webView:shouldStartLoadWithRequest:navigationType:
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError:
変数値 (hieght 用) を webViewDidFinishLoad に格納してから、tableview リロード データを呼び出します。cellForRowAtIndex メソッドで、この変数を高さに使用します。
于 2013-03-28T09:29:08.060 に答える