2014-12-02 57 views
0

我使用下面的代碼設置,可以顯示橫幅廣告iAd Banner通知?

[self setCanDisplayBannerAds:YES]; 

我遇到的問題是,我想在我的應用程序的最底部當然除非一來顯示文本VC橫幅廣告出現在這種情況下,我會將文字置於橫幅上方。我似乎無法找到所調用的委託方法,或者使用setCanDisplayBannerAds來實現此目的的任何其他方式。我在這裏錯過簡單的東西嗎?

回答

0

我找到了我的答案。

當您在視圖控制器上設置canDisplayBannerAds:YES時,Apple將控制self.view並將視圖移動到self.originalContentView。因此,如果您想將此對齊到視圖的底部,可以使用originalContentView簡單地添加約束。

當橫幅顯示並隱藏Apple調整您的originalContentView的尺寸時,將導致佈局被重新繪製。

下面的代碼將在沒有廣告時將viewYouWantOnTheBottom與視圖底部對齊,並在廣告顯示時將其放在橫幅的頂部。

我希望這可以幫助別人。

[self.originalContentView addConstraint:[NSLayoutConstraint constraintWithItem:viewYouWantOnTheBottom attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.originalContentView attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]];

0

iAD Banner有兩個委託方法,通知其觀察者有關是否可顯示iAD橫幅廣告。這些委託方法是:

#import <UIKit/UIKit.h> 
#import <iAd/iAd.h> 

@interface ViewController : UIViewController<ADBannerViewDelegate> 
- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    if (!_bannerIsVisible) 
    { 
     _bannerIsVisible = YES; 
    } 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    _bannerIsVisible = NO; 
} 
@end 

隨着幫助_bannerIsVisible布爾變量,你可以決定何時顯示文本有或沒有。

+0

似乎這些委託方法不被調用設立使用'視圖控制器當[自setCanDisplayBannerAds:YES];'委託未設置。任何想法在這種情況下設置委託? – Steve 2014-12-04 01:23:43