【发布时间】:2010-09-14 21:22:33
【问题描述】:
我有以下 ADBannerViewDelegate 实现:
#pragma mark ADBannerViewDelegate Methods
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
self.headerView.frame = CGRectMake(0, 0, 320, 94);
[self.tableView setTableHeaderView:headerView];
adBannerView.hidden = FALSE;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
headerView.frame = CGRectMake(0, 0, 320, 50);
[self.tableView setTableHeaderView:headerView]; //hide the ad if it doesnt fill
adBannerView.hidden = TRUE;
}
如果广告不可用,我想缩小标题视图。如果有广告,我想展开它。
当视图加载时,这工作正常。但是,这些委托方法似乎在视图加载后停止被调用。我可能会遇到以下情况:
- 视图 A 加载,但没有可用的 iAd,因此 headerView 被缩小
- 用户转到视图 B
- 用户返回视图 A
- 问题:视图 A 已加载,因此 headerView 已缩小,但未调用 ADBannerViewDelegate 方法,因此无法检查是否有广告
如何确保在最初加载视图之后调用这些委托方法?
【问题讨论】:
标签: iphone objective-c cocoa-touch uiviewcontroller iad