1

私はUIWebViewインを持ってUITableViewいます、私はストーリーボードにこれを持っています:

ストーリーボードデザイン

これUIImageViewは私の将来のNavBarであり、UIWebViewはにありUITableView、次の構成になっています。

  • -UIImageView
  • -UITableView
      • -UIWebView
      • -UITableViewCell

ページをロードするときUIWebView(私はローカルページを持っています)、動的にそれらのサイズを取ることを望みます、そしてこれのために私はこのコードを持っています:

[detailWebView setFrame:CGRectMake(0.,0.,detailWebView.frame.size.width,[[detailWebView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] intValue])];

問題は、ロードされたページが長い場合、UIWebBrowserセルを非表示にし、セルを下部に表示するためにセルをプッシュしなかったことです。なぜこれがあるのか​​わかりませんUIWebBrowser。ストーリーボードのサイズを変更すると、この問題は発生しませんが、プログラムで実行したいと思います。

ありがとう、

4

1 に答える 1

1

tkanzakicのおかげで、最初に空のセルを追加し、それらの高さを変更することで問題を解決しました

最初のセルの高さ=古いwebView.heigh-実際のwebView.heigh

使用したセルの高さを変更するtableview:cellForRowAtIndexPath には、tableViewのすべてのデータをリロードする必要はありません。これを使用するだけです。

NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:0 inSection:0];
NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil];
[detailsTableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];
于 2012-11-29T20:21:52.117 に答える