さて、この質問が尋ねられ、尋ねられました。多くの良い提案がありますが、私はこれが期待どおりに動作するようにすることはできません。私は異なるHTMLに基づいて負荷時にその高さを動的に設定できるテーブルビューセルを作成しようとしています。皆が示唆していることは、次の方法を使うことです。可変高さ内の動的ローカルコンテンツに基づいてUIWebViewの高さを決定します。TableViewCell
-(void)webViewDidFinishLoad:(UIWebView *)webView
彼らは高さを計算すると言うのいずれか、以下のようにJavaScriptを使用して:これらのメソッドの両方が返さ
self.webView = webView;
CGRect frame = webView.frame;
frame.size.height = 1;
webView.frame = frame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webView.frame = frame;
:
NSString *output = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"];
それとも、この(私はこれを作成した)のようなものをやってWebviewの正確な高さですが、テーブルビューが初期化された後に発生します。このwebViewDidFinishLoadは、heightForRowAtIndexPathメソッドの後に呼び出されます。だから、テーブルが作られているとき、私はセルの高さを持っていません。だから誰もがうまく言って、あなたのwebViewDidFinishLoadの中でテーブルビューのリロードをやってみてください。これはもう一度動作しますが、遅れがあり、その部分に行くとテーブルビューのスクロールがスクロールしてしまいます。これをどうすれば解決できますか?それを滑らかにする?ビューを読み込む前にウェブビューの高さを何らかの形で判断することを考えていましたが、どうすればよいかわかりません。また、htmlをプレーンテキスト文字列に変換しようとしましたが、htmlには空白があり、プレーンテキストは含まれていないので、これは偽の高さになります。どんな助けもありがとう!
heightForRowAtIndexPathが呼び出される前に終了する可能性があるので、Webビューをオフスクリーンで読み込めますか?また、ラグやチョップの性質を判断しましたか?おそらく、その問題を解決することができます。 –
素晴らしいアイデア!これが私がやったことです。 – mikemike396