iPhone UIWebView高度

iPhone UIWebView高度,iphone,uiwebview,Iphone,Uiwebview,有人知道这个解决方案是否可以被苹果提交应用程序批准吗 - (void)webViewDidFinishLoad:(UIWebView *)webView { CGFloat webViewHeight = 0.0f; if (self.subviews.count > 0) { UIView *scrollerView = [self.subviews objectAtIndex:0]; if (scrollerView.subviews.c

有人知道这个解决方案是否可以被苹果提交应用程序批准吗

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    CGFloat webViewHeight = 0.0f;
    if (self.subviews.count > 0) {
        UIView *scrollerView = [self.subviews objectAtIndex:0];
        if (scrollerView.subviews.count > 0) {
            UIView *webDocView = scrollerView.subviews.lastObject;
            if ([webDocView isKindOfClass:[NSClassFromString(@"UIWebDocumentView") class]])
                webViewHeight = webDocView.frame.size.height;
        }
    }
}
谢谢。
哈米。

与其乱搞可能会改变和破坏应用程序的私有类,为什么不使用
-stringByEvaluatingJavaScriptFromString:
用javascript调整网页大小?

实现UIWebViewDidfinishLoad委托方法并使用以下代码

您可以使用以下方法来解决问题

用于获取页面偏移量:

int pageYOffset=[[WebViewObjStringByEvaluatingJavaScriptFromString:@“window.pageYOffset”]intValue]

获取网页的总滚动高度:

int-scrollHeight=[[WebViewObjStringByEvaluatingJavaScriptFromString:@“document.documentElement.scrollHeight”]intValue]

用于将网页滚动到特定偏移量:


[webViewObj stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@“document.body.scrollTop=%d”,scrollHeight]

对。它应该会起作用。但当方向改变时,我遇到了一个大问题。当我使用通知方法时,该通知发生在应用程序布局更改之前。因此,stringByEvaluatingJavaScriptFromString返回错误的值。在调用stringByEvaluatingJavaScriptFromString之前,我尝试添加一个延迟,结果成功了。但是延迟不是很准确的方法:)谢谢,无论如何,我不认为我理解你在这里所说的-stringByEvaluatingJavaScriptFromString返回错误的值。我的意思是使用它来实际更改javascript窗口的大小,以响应方向的更改,而不是询问视图它的大小。它不应该返回任何内容。OP希望确定UIWebView的高度,而不是更改它。我猜他想在UITableViewCell中嵌入UIWebView。