当 Web 视图内容调整大小时确定 UIWebView 高度

Posted

技术标签:

【中文标题】当 Web 视图内容调整大小时确定 UIWebView 高度【英文标题】:determine UIWebView height when web view content resized 【发布时间】:2017-01-24 06:52:34 【问题描述】:

我正在使用UIWebView 在我的视图控制器中加载一个小部件我想在小部件内容大小更改时调整框架。

当一个选项被选中两次时,我下面的代码返回原始高度

这是我的代码

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType


    CGRect frame1 = _widget_VW.frame;
    frame1.size.height = 60;
    _widget_VW.frame = frame1;
    [_widget_VW sizeToFit];

    if (navigationType == UIWebViewNavigationTypeLinkClicked) 
        NSLog(@"User tapped a link.");
        [_widget_VW sizeToFit];

        [_widget_VW setSuppressesIncrementalRendering:YES];

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

        _VW_activity.hidden = NO;
        [_activityindicator startAnimating];
        [self performSelector:@selector(setup_DATA) withObject:_activityindicator afterDelay:0.01];

        return YES;
    

    return YES;

【问题讨论】:

【参考方案1】:

使用这个。 它对我有用。

#pragma mark - UIWebViewDelegate methods
- (void)webViewDidFinishLoad:(UIWebView *)aWebView 
    CGRect frame = aWebView.frame;
    frame.size.height = 1;
    aWebView.frame = frame;
    CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];
    frame.size = fittingSize;
    aWebView.frame = frame;

【讨论】:

以上是关于当 Web 视图内容调整大小时确定 UIWebView 高度的主要内容,如果未能解决你的问题,请参考以下文章

当 UITextView 大小发生变化时,如何调整 UITableViewCell 的大小?

在ScrollView中调整了UITableView,内容视图未调整大小

确定模态视图控制器的框架或其中相对于基本窗口的内容?

UIScrollView 内容大小在不应该时裁剪子视图

在具有自动布局的 UITableViewCell 中动态调整大小的 UIWebView - 违反约束

如何确定 WKWebView 的内容大小?