我使用下面的代碼設置,可以顯示橫幅廣告iAd Banner通知?
[self setCanDisplayBannerAds:YES];
我遇到的問題是,我想在我的應用程序的最底部當然除非一來顯示文本VC橫幅廣告出現在這種情況下,我會將文字置於橫幅上方。我似乎無法找到所調用的委託方法,或者使用setCanDisplayBannerAds來實現此目的的任何其他方式。我在這裏錯過簡單的東西嗎?
我使用下面的代碼設置,可以顯示橫幅廣告iAd Banner通知?
[self setCanDisplayBannerAds:YES];
我遇到的問題是,我想在我的應用程序的最底部當然除非一來顯示文本VC橫幅廣告出現在這種情況下,我會將文字置於橫幅上方。我似乎無法找到所調用的委託方法,或者使用setCanDisplayBannerAds來實現此目的的任何其他方式。我在這裏錯過簡單的東西嗎?
我找到了我的答案。
當您在視圖控制器上設置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]];
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布爾變量,你可以決定何時顯示文本有或沒有。
似乎這些委託方法不被調用設立使用'視圖控制器當[自setCanDisplayBannerAds:YES];'委託未設置。任何想法在這種情況下設置委託? – Steve 2014-12-04 01:23:43