いいえ(種類)。 htmlは、何らかの測定を得るためにある程度の容量でレンダリングする必要があります。 この理由は、html/css/javascriptが一緒に機能する方法に固有のものです。(javascriptはhtml/cssのプロパティを変更し、cssはhtmlを変更します)。 、工数の(何千、それはあなたのカスタムコードでのかどうか、ドンのページを自分をレンダリング
- :あなたはに持っていた場合のUIWebViewを使用せずに幅を取得し、次の2つのオプションのいずれかで立ち往生されるだろうこれを実行しないでください)、またはいくつかのオープンソースライブラリです。私はこれがUIWebViewより速くなるのではないかと疑いがあり、予期せぬバグが導入される可能性があります。
- バックグラウンドでページを測定し、その値をどこかのに保存します。これは基本的にはサイズのキャッシングの一種になります。出荷時にページが静的である場合は、手動で行い、ハードコードしてください。それらが動的である場合は、起動時にそれらを測定し、値を格納するクラスを作成します。 UIWebViewアプリでジャーキネスを引き起こし、あなたはメインスレッドだブロックしているので
あなたがこれをやろうとしています:?動的測定はのUIWebView
EDITを必要としますかもしそうなら、あなたはこのような何かが
UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,320,460)];
webview.delegate = self;
[webview loadRequest: [NSURLRequest requestWithURL:[NSURL urlFromString:@"/path/to/file.html"]]];
を?:しようと考えている...そして、後に...
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
// run your code to get scroll width of page
}
は、なぜあなたはローカルのHTMLページのscrollWidthを取得するために欠けていますか? –
レンダリングせずにこれを正確に計算することはできません。 HTMLをレンダリングする必要があるので、UIWebViewまたは別の同様のフレームワークを使用する必要があります。 –
好奇心を要して、なぜこのスレッドを別のスレッドで実行したいですか? – JoeCortopassi