【问题标题】:I cannot get the UIScrollView to adjust its size based on UIWebView我无法让 UIScrollView 根据 UIWebView 调整其大小
【发布时间】:2014-11-06 23:34:29
【问题描述】:

ScrollView 中的 WebView 或 WebView 中的 ScrollView 之间关于这个主题的讨论太多了,我完全迷失了!

在我的例子中,我有一个 ScrollView,它拥有一个固定大小的 UIImageView 和一个可变大小的 UIWebView。

根据 NSLog() 输出,我使用了以下似乎可以正确计算高度的解决方案:

* 编辑 * 我的网络视图初始化如下:

    CABBndGMedia *htmlMedia = [[currentPOI listMediaHtml] objectAtIndex:0];
    NSData *htmlData = [NSData dataWithContentsOfURL:[htmlMedia localMediaFilename]];
    poiHtml.delegate = self;
    [poiHtml loadData:htmlData MIMEType:@"text/html" textEncodingName:@"" baseURL:[NSURL URLWithString:@""]];
    poiHtml.scalesPageToFit = YES;

然后:

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

    CGRect frame = poiHtml.frame;
    frame.size.height = 1;
    poiHtml.frame = frame;
    CGSize fittingSize = [poiHtml sizeThatFits:CGSizeZero];
    frame.size = fittingSize;
    poiHtml.frame = frame;

    NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);

}

* 编辑 * 更改 Scrollview 背景颜色后,我意识到 WebView 并没有改变它的高度,尽管显示了fittingSize.height 值。

根据我在 Stackoverflow 中阅读的所有内容,这个问题似乎非常“天气”,其中一些解决方案似乎适用于某人,而不适用于其他人...... 无论如何,要获得这个似乎是最好的解决方案,我还能错过什么?

问候,

【问题讨论】:

    标签: ios objective-c uiwebview


    【解决方案1】:

    UIScrollViews 框架应该是您希望剪辑内容的边界。所以可能是你屏幕的大小。

    您需要将滚动视图的contentSize 属性设置为您计算的完整大小。然后滚动视图将允许您在该大小范围内滚动。

    【讨论】:

    • 嗨 jeffamaphone,我编辑了我的帖子以在更多测试后添加更多信息。实际上,WebView 的高度并没有更新。
    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 2016-07-01
    • 2011-04-04
    • 2018-01-25
    相关资源
    最近更新 更多