最後一個單元格,我不得不做一些改動張貼NJones的解決方案,因爲有一個廣告未顯示在所有其他單元格/視圖之上的問題。
首先確保你的tableViewController是AdBannerViewDelegate:
@interface MyTableViewController() <ADBannerViewDelegate>
添加AdBanner到tableviewcontroller:
- (void)viewDidLoad {
[super viewDidLoad];
...
ADBannerView *adBanner = [[ADBannerView alloc]initWithAdType:ADAdTypeBanner];
adBanner.delegate = self;
self.tableView.tableFooterView = adBanner;
}
來定位廣告橫幅從NJones採取的代碼,我只加了最後一行將廣告橫幅帶到前面:
-(void)positionAdBanner {
ADBannerView *adBanner = (ADBannerView *) self.tableView.tableFooterView;
if (adBanner) {
CGRect iAdFrame = adBanner.frame;
CGFloat newOriginY = self.tableView.contentOffset.y + self.tableView.frame.size.height - iAdFrame.size.height;
CGRect newIAdFrame = CGRectMake(iAdFrame.origin.x, newOriginY, iAdFrame.size.width, iAdFrame.size.height);
adBanner.frame = newIAdFrame;
[self.tableView bringSubviewToFront:adBanner];
}
}
Thi S功能被稱爲每當觀點是要佈局其子視圖(所以你只需要在這裏,不需要檢查滾動等):
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
[self positionAdBanner];
}
你也應該處理ADBannerViewDelegate方法:
-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
banner.hidden = NO;
[self positionAdBanner];
}
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
banner.hidden = YES;
}
這工作表示感謝。對於記錄,然而,我最終只是使用viewController和tableView而不是使用tableViewController,所以我沒有任何問題調整tableView並放置下面的iAd。 – overeasy 2012-04-04 23:52:26
我不知道如何讓這段代碼在我的應用程序中工作。我已經在我的表視圖的表視圖頁腳拖動了橫幅視圖,但我不知道從那裏去哪裏..這個變量'iAd'在哪裏被分配? – 2013-06-17 06:44:25
我看到了,我剛剛以編程方式初始化了一個新的「AdBannerView」。 – 2013-06-17 06:48:35