0

我正在创建这样的 UIWebView

    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
    NSString *s=[arrayWithTwoStrings objectAtIndex:0];
    [self.webView setDelegate:self];
    self.webView.backgroundColor=[UIColor clearColor];
    self.webView.opaque=NO;
    self.webView.scrollView.scrollEnabled=NO;
    [self.webView loadHTMLString:s baseURL:nil];
    self.webView.contentMode=UIViewContentModeScaleAspectFit;
    self.webView.autoresizesSubviews = YES;
    [self.webView setScalesPageToFit:FALSE];
    [self.webView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
    [self.webView sizeToFit];
    CGFloat totalHeight = self.webView.frame.origin.y+self.webView.frame.size.height+30;
    [self.webView setFrame:CGRectMake(0,0,320, totalHeight)];

我不适合基于内容的 webview 高度。

我已经尝试了一些搜索技术,但无法奏效

4

1 回答 1

0

如果您尝试调整 Web 视图的高度,以便用户不需要在 Web 视图中垂直滚动,则需要在 HTML 字符串加载到 Web 视图后获取高度。

在 HTML 字符串加载完成后实现 web view 的委托,并根据滚动视图高度计算高度:

- (void)webViewDidFinishLoad:(UIWebView *)aWebView {
    aWebView.frame = CGRectMake(CGRectGetMinX(aWebView.frame), CGRectGetMinY(aWebView.frame), CGRectGetWidth(aWebView.frame), aWebView.scrollView.contentSize.height);
}
于 2013-05-27T02:20:54.993 回答