0

アプリにテキストを表示するための webview を作成しています。

CGRect frame = CGRectMake(lblContent.frame.origin.x, 
                          lblContent.frame.origin.y,
                          lblContent.frame.size.width,
                          lblContent.frame.size.height);

NSString *htmlText = HTML_DIV_TAG;
htmlText = [htmlText stringByAppendingFormat:@"%@%@", _artistDetail.strContent, @"</div>"];
htmlText = [htmlText stringByReplacingOccurrencesOfString:@"''" withString:@"'"];

UIWebView *webView = [[UIWebView alloc]initWithFrame:frame];
[webView loadHTMLString:htmlText baseURL:nil];
webView.scrollView.bounces = NO;
[self addSubview:webView];

これは、アプリに挿入したコードのセットです。

ただし、コンテンツのサイズに応じて Web ビューの高さを調整する必要があります。

4

4 に答える 4

1

試す -

 float height=   [iText sizeWithFont:[UIFont fontWithName:@"FontSpecifiedInTheHtmlText" size: -SpecifiedInHTMLText- constrainedToSize:CGSizeMake(320, 100000)lineBreakMode:UILineBreakModeWordWrap].height;

コンテンツ テキストの高さを取得したら、WebView のフレーム/境界を設定できます。

于 2012-11-12T10:15:16.173 に答える
1

設定した場合は、プロトコル メソッドwebview.delegate = selfを追加し、小さな JavaScript を呼び出して高さを決定できます。UIWebViewDelegatewebViewDidFinishLoad:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *output = [webview stringByEvaluatingJavaScriptFromString:@"document.body. scrollHeight;"];
    NSLog(@"height: %@", output);
}

もう 1 つの方法は、このメソッドで webView の scrollView を決定することcontentSizeです。これは、このメソッドが呼び出されるまでに Web サイト全体に収まる必要があるためです。

このメソッドの唯一の問題は、ページの読み込みが終了したときにこのメソッドが呼び出されることです。画像は異なる方法で処理されます。つまり、画像の読み込みが完了すると、webView のサイズが変わる可能性があります。

于 2012-11-12T09:47:04.367 に答える
0

あなたはこれが欲しいかもしれません:

[webView.scrollView setContentInset:UIEdgeInsetsMake(0, 0, 20, 0)];
于 2012-11-12T08:16:50.937 に答える
0

UIWebview はスクロール可能です。したがって、UIWebview でページを開くときに、ページのコンテンツに応じて高さを調整する必要はありません。UIWebView をスクロールすると、すべてのコンテンツを表示できます。WebView でユーザー インタラクションが有効になっていることを確認する必要があります。

于 2012-11-12T08:26:08.530 に答える