2

私のアプリは縦向きで実行されますが、内部のコンテンツは加速度計で回転します。画面の下部に iAd を表示します。回転すると iAd の位置が変わりましたが、実際のインターフェイスは回転しません (Autorotate が NO を返す場合、すべての回転は OpenGL で処理されます)。したがって、iAd が配置され、それを回転するように変換が設定され、ユーザーにとって正しい方法になります。アプリが縦向きの場合は、縦向きの広告です。ランドスケープのときはランドスケープです。iAds が最初にリリースされて以来、これは完全に機能しています...今まで。

iOS6 では、iAd はまだ正しく配置されていますが、何をしてもコンテンツは正しくありません。どのタイプの広告を表示するかは、iOS6が決定しているようです。これはオートサイジングに関係していると思います。でもどうやって止めようか悩んでいます。縦向きのグラフィックが横向きモードで表示されてしまいます...片側に...そして、広告スペースが薄いために切り取られます.

他の誰かがこの動作を見たことがありますか? iOS6以下のみです。iAd の自動サイズ変更/コンテンツの回転を停止する方法を知っている人はいますか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

これは、iOS 6 の新機能である自動レイアウトが原因である可能性があります。ストーリーボードの最初の (「ファイル インスペクター」) タブを確認し、「自動レイアウトを使用する」がチェックされている場合は、おそらくそれが問題です!

自動レイアウトを有効にすると、ビューは、以前に利用可能だった単純な自動サイズ調整パラメーターではなく、「制約」に基づいています。これらの制約は、サブビューのフレームに対して試行されたほとんどの変更をオーバーライドします。したがって、問題が説明されます。

自動レイアウトを引き続き使用して、制約が正しく設定されていることを確認することは可能ですが、コードに依存して広告ビューの位置/サイズを変更している場合は、自動レイアウトを無効にすることをお勧めします。これにより、サイズ変更が再び正常になります!

于 2012-10-23T05:06:01.600 に答える
0

バナーがロードされたときに、以下と同様の方法を使用していると思いますか?

 - (void)bannerViewDidLoadAd:(ADBannerView *)banner {

       self.bannerView.frame = CGRectZero;
 }

こんな感じに変えてみてください

 - (void)bannerViewDidLoadAd:(ADBannerView *)banner {

       self.bannerView.frame = CGRectMake(0, 0, 480, 32);
 }
于 2012-11-12T09:35:37.977 に答える