2012-11-15 48 views
0

我的應用剛剛被拒絕,因爲「只要廣告內容不被iAd提供服務,就應該隱藏應用中的橫幅廣告」。然後他們提供這個示例代碼;由於廣告內容未被iAd提供服務而被隱藏,因此應用被拒絕

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    if (self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; 
     // assumes the banner view is at the top of the screen. 
     banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height); 
     [UIView commitAnimations]; 
     self.bannerIsVisible = NO; 
    } 
} 

現在我的iAd顯示在屏幕的底部而不是頂部。我還想計算3.5和4英寸屏幕,所以這是我的代碼;

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    if (self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; 

     CGSize result = [[UIScreen mainScreen] bounds].size; 
     CGFloat scale = [UIScreen mainScreen].scale; 
     result = CGSizeMake(result.width * scale, result.height * scale); 

     if(result.height == 1136){ 
      banner.frame = CGRectOffset(banner.frame, 498, -banner.frame.size.height); 
     }else{ 
      banner.frame = CGRectOffset(banner.frame, 410, -banner.frame.size.height); 
     } 

     [UIView commitAnimations]; 
     self.bannerIsVisible = NO; 
    } 
} 

真的很煩人的部分是我的代碼在我的測試iPhone和iOS模擬器上正常工作。

我在做什麼錯?

回答

1

如果您的橫幅位於底部,則應該總計banner.frame.size.height而不是減去以隱藏橫幅。不需要爲不同的屏幕進行額外的計算。

所以,這應該是足夠了:

banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height); 
+0

的感謝!將這樣做,然後再試一次! – Xaphann

相關問題