2010-12-20 11 views
0

私はUIWebViewとUIViewControllerを使用してバナーを作成しています。コントローラでは、shouldAutorotateToInterfaceOrientationを常にYESを返すように設定しました。 loadViewでは、私は自分のUIWebViewを作成し、CGRectMakeを使って小さなバナーフレームを与えます。すべてが画面に追加されたときに機能します。この問題は、画面が回転しているときに発生します。 UIWebViewは画面全体を引き継ぎます。 NSLogを使用してフレームを出力すると、回転によって上書きされて画面全体を占めることがわかります。どのようにこれをやめさせるためにそれを得るための任意のアイデア?私は何か基本的なものが欠けていると感じますが、何が間違っているのか分かりません。UIWebViewは回転時に画面を引き継ぎます

答えて

0

あなたがのUIWebViewをロードする場合、(回転にあなたが480にのUIWebViewの幅を設定しなければならないとのthatsはあなたがロードページ上の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

関連する問題