2

UIscrollview 内に UIwebview があります。スクロールビューを許可するために、ビューコントローラーのサイズを自由にしました。

ストーリーボードで scrollview = 1000 と webview = 200 の高さを指定しました。今、コードで、受け取ったコンテンツに基づいて webview の高さを調整しています。

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    CGRect frame = webView.frame;
    frame.size.height = 1;
    webView.frame = frame;
    CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
    frame.size = fittingSize;
    webView.frame = frame;

    NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);
    webView.scrollView.scrollEnabled = NO;
}

ログの状態size: 280.000000, 676.000000

ただし、スクロールした後、webview はストーリーボードで指定されたサイズに自動的にサイズ変更されます。何かを無効にする必要がありますか、または何か不足していますか?

4

2 に答える 2

0

このようにしてください

-(void)webViewDidFinishLoad:(UIWebView *)webView {

    CGRect frame = webView.frame;
    frame.size.height = [[your_webview stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight;"] floatValue];
    webView.frame = frame;
}

それがあなたを助けることを願っています....

于 2013-06-07T10:11:39.627 に答える
0

でコードを書いてみてください

webViewDidStartLoad:

また、スクロールを実装したコードをチェックして、スクロール アクション中に Web ビュー フレームまたはサイズを設定しているかどうかを確認します。

于 2013-06-07T09:08:52.167 に答える