Apple 文件在其 iAd 最佳实践部分中提到了这一点,
如果用户从带有横幅视图的内容屏幕导航到没有横幅视图的屏幕,并且您希望他们在该屏幕上停留很长时间,请从视图层次结构中删除横幅视图,设置它的代表为零并在转换到新的内容屏幕之前释放它。更一般地说,当横幅视图对用户不可见时,应避免将其保留在周围。
我想知道我该怎么做?我有一个带有 2 个选项卡的 tabBar 应用程序。当第一个标签不可见时,我想删除 iAd BannerView。并在它再次出现时将其加载回来。我正在使用 viewWillAppear 来加载添加。并尝试使用 viewWillDisappear 删除横幅。
我试图从这样的视图中删除bannerView,
[[[self.view subviews] lastObject] removeFromSuperview];
然后在导航到选项卡 2 时将其删除。但是当我再次点击选项卡 1 时,横幅不再加载。
做这个的最好方式是什么?
这是 viewWillAppear 代码
-(void)viewWillAppear:(BOOL)animated
{
ADBannerView *banner = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 200, 0, 0)];
banner.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
banner.delegate = self;
[self.view addSubview:banner];
[banner release];
}