绘制UIWebView图层时出现问题

时间:2010-07-01 07:43:03

标签: jquery iphone

我想获得UIWebView层,然后我想渲染它。这是我的代码:

webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 700, 1024)];
[webView loadHTMLString:@"Display This HTML String" baseURL:nil];

CALayer *webViewLayer = [webView layer];
[webViewLayer renderInContext:ctx];

我得到的只是空白页。

但如果我使用UIView而不是UIWebView,那么代码工作正常。 我做错了什么我无法注意到或者我们无法获得UIWebView层,或者是否有任何其他方法来获取UIWebView层。

感谢名单。

1 个答案:

答案 0 :(得分:0)

UIWebView非常单一,其组件通常无法访问。一切都或多或少地隐藏起来。

您可以通过循环浏览网页视图的子视图来“欺骗”,但您可能会遇到Apple拒绝访问私有类的行为,例如:

CALayer *webViewLayer;
for (UIView *_subview in [[[webView subviews] objectAtIndex:0] subviews]) {
    if ([_subview isKindOfClass:[UIWebDocumentView class]]) {
        webViewLayer = [_subview layer];
    }
}
[webViewLayer renderInContext:ctx];

如果您打算在App Store上发布此应用,则访问私有类会导致您的应用被拒绝。