我可以选择在我的应用中停用广告。启用该选项后,广告就会消失。现在,当您离开包含广告的网页并返回广告时,广告确实会消失。但对于一个页面,我的MainMenuViewController,由于某种原因该页面不刷新和广告保留。对于它的其他页面,当广告在那里,当我离开该页面并返回时,广告本身会刷新并显示新广告,但对于主菜单,它始终是相同的广告,因此它不会令人耳目一新。我在所有视图控制器中都有相同的代码,所以我不确定为什么这个代码会造成麻烦。以下是MainMenuViewController中的重要方法:
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (TestAppDelegate*)[[UIApplication sharedApplication] delegate];
if(appDelegate.isPremium==NO) {
self.adView = [[[MobclixAdViewiPhone_320x50 alloc] initWithFrame:CGRectMake(0.0f, 430.0f, 320.0f, 50.0f)] autorelease];
[self.view addSubview:self.adView];
}
}
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.adView resumeAdAutoRefresh];
}
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.adView pauseAdAutoRefresh];
}
-(void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
- (void)viewDidUnload {
[super viewDidUnload];
[self.adView cancelAd];
self.adView.delegate = nil;
self.adView = nil;
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
[self.adView cancelAd];
self.adView.delegate = nil;
self.adView = nil;
}
答案 0 :(得分:0)
如果它只发生在该特定视图上,可能是因为它被保存在内存中并且在您返回时不会被重绘。这很常见,如果您使用导航控制器来管理堆栈中的视图控制器(例如,根视图控制器总是在堆栈中,并且往往会留在内存中,直到需要该内存为止)。
为什么不强制使用setNeedsDisplay重绘视图控制器的视图?