UIWebview调整高度以适应内容

Rec*_*eel 7 iphone height xcode resize uiwebview

我知道这已被多次询问但我无法让它工作.简而言之,我的UIWebview引入了一些没有固定高度的HTML(宽度始终相同),我只想要相应地改变高度.

我已经尝试了一些我在网上找到的修复但我的问题是webview会改变到正确的大小,但只是短暂的一秒,然后在电影回到原始大小.

我应该指出,我的这个观点是由一个segue调用的,这是我能想到的唯一不同的东西!我想知道代码是否有效但是当segue完成交叉淡入淡出,翻转或其他什么时它会重新绘制webview.

这是我当前的代码(正如我所说,我已经尝试了许多修复,包括Java版本,其中大多数都做同样的事情),我还使用了scalesPageToFit和srollEnabled以及Storyboard中的一些滴答.

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"Starting Size : %f", headerWebView.frame.size.height);

    headerWebView.scalesPageToFit = YES;
    headerWebView.scrollView.scrollEnabled = NO;
    CGRect frame = headerWebView.frame;

    frame.size.width = frame.size.width; // I used this to test, I put 200 in and it changes then flicks back too
    frame.size.height = 1;

    headerWebView.frame = frame;
    frame.size.height = headerWebView.scrollView.contentSize.height;
    headerWebView.frame = frame;

    NSLog(@"Finished Size : %f", headerWebView.frame.size.height);
}
Run Code Online (Sandbox Code Playgroud)

日志说;

起始尺寸:176.000000成品尺寸:246.000000

任何人都知道为什么Webview看起来很好,只有足够长的时间让我注意然后"收缩"回来?

Tom*_* C. 3

有人知道为什么 Webview 看起来很好,足以让我注意到,然后“缩小”回来吗?

我想说这看起来很好,因为你正在展示正在发生的变化。为什么不在视图生命周期的某个早期点甚至在 webViewDidFinishLoading 中隐藏 Web 视图?我正在分享 IB 的布局设置,以便提供进一步的帮助。请告知这是否有帮助或是否需要其他信息。我使用弹簧和支柱而不是自动布局。我会尝试这些方法,看看它是否适合你。

隐藏我的网络视图数据加载可以防止用户看到任何内容,直到我的所有设置/数据就位。

    NSString *path = [[NSBundle mainBundle] bundlePath];
    NSURL *baseURL = [NSURL fileURLWithPath:path];

    [webView setAlpha:0];
    [webView loadData:[dataString dataUsingEncoding:NSUTF8StringEncoding] MIMEType:@"text/html" textEncodingName:@"UTF-8"  baseURL:baseURL];

    [UIView animateWithDuration:0.1 animations:^{

        [webView setAlpha:1.0];

    } completion:nil];
Run Code Online (Sandbox Code Playgroud)

Web视图弹簧和支柱 网页视图设置