2011-11-03 109 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]; 

任何援助將不勝感激。

回答

19

更新 - @ larsacus指出,這是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

請注意,這隻適用於iOS 4.2+,因爲在4.2中都添加了「ADBannerContentSizeIdentifierPortrait」和「ADBannerContentSizeIdentifierLandscape」。只是一個頭。 – larsacus

+0

感謝您的詳細解答Chris – jini

+0

@jini Chris沒有回答這個問題 –

0

這是幫助我移動視圖的底部:

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

adView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

+0

這會在很多情況下推送屏幕下方的廣告視圖。這聽起來像你的問題更多的是與屏幕旋轉有關,或者你正在使用界面構建器,並且視圖設置不正確。你是否在你的視圖控制器中使用XIB? –

+0

哦!你是對的,我注意到有不止一個實例,但我還沒有修復它。我沒有任何XIB,這是一箇舊的代碼,我正在更新它。這些觀點並沒有被正確地設置,這是一團糟,我不想花太多時間在這個。我的應用程序只有一個方向,所以沒有輪換,我需要的只是將其設置在底部。我粘貼了整個代碼(廣告),以避免多次詢問同一個問題,但我可以轉發如果需要的話:http://pastebin.com/k73cyL7R – Neeku

+0

不知道你是如何識別出了許多實例,但問題是我在'loadView'方法中調用了'createAdView'方法,在主視圖之前創建。使用定時器,問題就解決了。使用計時器的 – Neeku

2

我在SO上的第一個答案:)

爲什麼不使用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

我嘗試了類似的東西,但我不確定蘋果是否會接受將大小強制爲與默認值不同的東西。有沒有人有上傳與調整大小的iAd橫幅應用程序的經驗? – Alexandros

0

用故事板,那麼,忽略標準iAd的橫幅查看沒有到達屏幕的邊緣。 將iAd橫幅設置爲居中,然後將其移動到儘可能靠近底部的位置。沒有其他的寬度設置(沒有前導或尾隨設置)

礦井看起來很好,從superview的底部8像素,但我去 - iAd旗幟和UIController視圖之間的像素。