の最後のセルのためのスペースを作るためにtableFooterViewを作成ロードされると広告が他のすべてのセル/ビューの上に表示されない問題。
@interface MyTableViewController() <ADBannerViewDelegate>
tableviewcontrollerにAdBannerを追加:
まず、あなたのtableViewControllerがAdBannerViewDelegateであることを確認してください
- (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とtableViewControllerを使う代わりにtableViewを使いました。だから、tableViewのサイズを変更して、iAdを下に置いても問題はありませんでした。 – overeasy
私のアプリケーションでこのコードを動作させる方法はわかりません。私はバナービューを私のテーブルビューのテーブルビューフッターにドラッグしましたが、そこからどこに行くのかわかりません。この変数 'iAd'はどこに割り当てられていますか? –
私は、新しい 'AdBannerView'をプログラムで初期化しました。 –