2013-06-03 51 views
0

我已經成功地將admob添加到我的項目中作爲廣告的次要來源。我有Admob,Autolayout和增加約束的問題。

然後,我希望admob橫幅始終保持在屏幕的底部(不管使用的是iPhone) - 很簡單。不幸的是,我現在有一個非常奇怪的問題。現在iAd和Admobs橫幅現在都以某種方式出現在屏幕底部的工具欄下方。

我從字面上不理解這一點 - 首先,因爲工具欄設置爲不透明(但您可以通過它看到廣告) - 第二個爲什麼我的橫幅廣告突然做同樣的事情?

這是我正在運行的代碼。任何投入將不勝感激!

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { 

[UIView beginAnimations:@"animateAdBannerOff" context:NULL]; 
[UIView setAnimationDuration:2]; 
[banner setAlpha:0]; 
[UIView commitAnimations]; 

admobBannerView = [[GADBannerView alloc] 
        initWithFrame:CGRectMake (0.0,0.0, 
               GAD_SIZE_320x50.width, 
               GAD_SIZE_320x50.height)]; 
self.admobBannerView.adUnitID = @"X"; 
self.admobBannerView.rootViewController = self; 
self.admobBannerView.delegate = self; 

[self.view addSubview:self.admobBannerView]; 

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

self.admobBannerView.translatesAutoresizingMaskIntoConstraints = NO; 


GADRequest *request = [GADRequest request]; 
request.testDevices = [NSArray arrayWithObjects:@"X", nil]; 

[self.admobBannerView loadRequest:[GADRequest request]]; 

回答

0

在做了一些關於故事板和工具欄的閱讀後,我終於弄清楚我做錯了什麼。

因爲我的admob橫幅被限制在視圖的底部,所以它被創建 - 我已經在導航控制器中將工具欄設置爲不透明,但不是在我正在運行廣告的實際視圖控制器中。雖然您可以顯然每個應用程序只有一種類型的工具欄(在導航控制器中設置),故事板允許您在視圖控制器之間進行切換和更改(即使這不會轉換爲應用程序構建)。這對我來說似乎很愚蠢。

這是什麼導致在半透明工具欄下創建橫幅。