2010-12-20 154 views
0

我使用UIWebView和UIViewController創建橫幅。在控制器中,我將shouldAutorotateToInterfaceOrientation設置爲始終返回YES。在loadView中,我創建了我的UIWebView並使用CGRectMake給它一個小橫幅框架。當它被添加到屏幕時,一切都有效。屏幕旋轉時出現問題。 UIWebView現在接管整個屏幕。如果我使用NSLog輸出其框架,我可以看到它被旋轉佔據整個屏幕而被覆蓋。任何想法如何讓它停止這樣做?我覺得我錯過了一些根本性的東西,但我無法弄清楚什麼是錯的。UIWebView接管屏幕旋轉

回答

0

如果您加載的UIWebView,在旋轉你應該的UIWebView的寬度設置爲480和多數民衆將在聲明加載頁面的JavaScript函數來完成,然後在委託

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


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

注makeWidth( 480)是您加載的頁面中的JavaScript函數,您應該在您的webview中聲明該函數並從xcode調用它。

+0

謝謝!我會嘗試儘快對此進行測試。截止日期即將到來,所以可能需要一點點: - / – Aaron 2011-07-12 19:00:48