2010-07-01 4 views
1

UIWebView 레이어를 가져 와서 렌더링하고 싶습니다. 이것은 내 코드입니다.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]; 

빈 페이지가 나타납니다.

하지만 UIWebView 대신 UIView를 사용하면 코드가 정상적으로 작동합니다. UIWebView의 레이어를 알아 채거나 기울이지 못하거나 UIWebView의 레이어를 가져 오는 다른 방법이 있습니다.

고맙습니다.

답변

0

UIWebView은 꽤 모 놀리 식이며 해당 구성 요소는 일반적으로 액세스 할 수 없습니다. 모든 것이 숨어 있습니다.

당신은 웹보기의 파단 불구하고 반복에 의해 "속임수"수 있지만, 당신은 아마 애플의 예를 들어 액세스하는 개인 수업의 승인으로 실행하겠습니다 : 앱이 원인이됩니다 개인 클래스에 액세스

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

이 거부합니다 , 당신이 App Store에 이것을 게시하려는 경우.

관련 문제