2010-12-20 2 views
0

UIWebView 및 UIViewController를 사용하여 배너를 만듭니다. 컨트롤러에서 항상 shouldAutorotateToInterfaceOrientation을 설정하여 항상 YES를 반환합니다. loadView에서 UIWebView를 만들고 CGRectMake를 사용하여 작은 배너 프레임을 만듭니다. 모든 것이 화면에 추가되면 작동합니다. 이 문제는 화면이 회전 할 때 발생합니다. 이제 UIWebView가 전체 화면을 차지합니다. NSLog를 사용하여 프레임을 출력하면 회전에 의해 전체 화면을 차지하는 것을 볼 수 있습니다. 이 일을 그만 둘 수있는 방법이 있습니까? 나는 근본적인 것이 빠져 있다고 느끼지만, 무엇이 잘못되었는지를 알 수 없다.UIWebView가 화면 회전시에 처리합니다.

답변

0

이있는 UIWebView를로드하는 경우, (회전에 당신은 480에있는 UIWebView의 폭을 설정해야하고 그게 당신이로드 페이지에 자바 스크립트 함수를 선언에서도 이루어 지이다 다음 위임에

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{ 


    if ((toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) || 
     (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)) 
    { 
      [webView stringByEvaluatingJavaScriptFromString:@"makeWidth(480)"]; 
    }else{ 
      [webView stringByEvaluatingJavaScriptFromString:@"makeWidth(320)"]; 
    } 

노트 makeWidth 480) 당신이로드 페이지에서 자바 스크립트 함수입니다, 당신은 webview에서 그 함수를 선언하고 xcode에서 호출해야합니다.

+0

감사합니다. 가능한 한 빨리 시도해 보겠습니다. 마감 기한이 어렴풋 해짐에 따라 다소 시간이 걸릴 수 있습니다. - / – Aaron

관련 문제