2011-11-03 11 views
5

私はそれを上に置くことができる以下のコードを持っています。私はそれが底に現れることを望んでいる。iAdバナーを画面の下部に表示するにはどうすればよいですか?

adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; 
adView.frame = CGRectOffset(adView.frame, 0, -50); 
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait]; 
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; 
[self.view addSubview:adView]; 

ご協力いただければ幸いです。 larsacus @

答えて

19

Update-が、これは4.2 +用で指摘:

adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; 
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait]; 
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; 
CGRect adFrame = adView.frame; 
adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height; 
adView.frame = adFrame; 
[self.view addSubview:adView]; 

Shown working in simulator

+1

「ADBannerContentSizeIdentifierPortrait」と「ADBannerContentSizeIdentifierLandscape」が両方とも4.2に追加されているため、これはiOS 4.2以降でのみ機能することに注意してください。ただ頭を上げる。 – larsacus

+0

詳細な回答ありがとうChris – jini

+0

@jiniクリスは質問に答えません –

0

これは私が下にビューを移動助けたものです:

adFrame.origin.y = self.view.frame.size.height;

adView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

+0

これは、多くの場合、画面の下に広告ビューをプッシュします。あなたの問題は画面の回転に関連しているか、インターフェースビルダーを使用していてビューが正しく設定されていないようです。 View ControllerにXIBを使用していますか? –

+0

ああ!あなたは正しいです、私は複数のインスタンスがあることに気付きましたが、私はまだそれを修正していません。私はXIBを持っていない、これは古いコードです、私はそれを更新しています。ビューはまったく正しく設定されておらず、混乱しており、これに多くの時間を費やしたくありません。私のアプリは1つの方向にしか来ないので、回転はありません。必要なのは、底に設定するだけです。同じ質問を何度も繰り返すことを避けるため、ここに広告全体のコードを貼り付けましたが、それは必要な場合:http://pastebin.com/k73cyL7R – Neeku

+0

多くのインスタンスを作成したことをどのように認識しているのかわかりませんが、問題はメインビューが表示される前に 'createAdView'メソッドを呼び出した' loadView'メソッドで問題が発生していたことです作成した。タイマーを使用すると、問題は解決されます。 – Neeku

2

私の最初の答えは:

なぜadViewの 'center'プロパティを使用しないのですか?あなたのメインビューの寸法はviewWidthとviewHeightある場合:ストーリーボードを使用して

//at the bottom of view,centered 
adView.center=CGPointMake(viewWidth/2, viewHeight-adView.frame.size.height); 

//at the top, right corner ;) 
adView.center=CGPointMake(viewWidth-adView.frame.size.width/2, adView.frame.size.height); 

乾杯

+0

私は同様のことを試しましたが、Appleがサイズをデフォルトと違うものにすることを認めているかどうかは不明です。誰かがサイズ変更したiAdバナーを使ってアプリをアップロードした経験がありますか? – Alexandros

0

、その後、標準のiAdバナー表示が画面の端に到達しないことを無視します。 iAdバナーをセンタリングするように設定し、必要に応じてボトムの近くまで移動します。他の幅の設定はありません(先頭または末尾の設定はありません)

マインドはスーパービューの下から8ピクセルありましたが、iAdバナーとUIControllerビューの間にピクセルがあります。

関連する問題