我想在每次显示UIViewController
时显示整页图片广告。
我想我必须在viewDidAppear
或ViewWillAppear
内调用该方法,但它们被调用一次。
- (void) viewDidAppear:(BOOL)animated{
[self showAds];
}
- (void) showAds{
//Do Something
}
每次显示uiviewcontroller时(即使已经创建了uiviewcontroller),我该怎么做才能调用方法?
答案 0 :(得分:3)
ViewWillAppear
时都会调用{p> UIViewController
,但在应用返回前台时不会调用。{/ p>
答案 1 :(得分:3)
您可以通过以下代码使用通知来实现目标, 这种情况特别适用于您的应用程序处于后台并且用户按HOME按钮激活它。
仅在viewDidLoad中的应用程序enterForground时注册Notifcation。
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(handleEnteredBackground)
name: UIApplicationDidBecomeActiveNotification
object: nil];
编写一个方法来在应用程序enterForground
时调用-(void)handleEnteredBackground
{
NSLog(@"%s",__FUNCTION__);
// Your stuff here
}
不要忘记在viewDidUnload方法中删除Observer
[[NSNotificationCenter defaultCenter] removeObserver:self];
每次应用程序enterForground
时发布新通知- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidBecomeActiveNotification object:nil];
}
答案 2 :(得分:1)
每次都应该调用ViewWillAppear。使用:
- (void) viewWillAppear:(BOOL)animated{
[self showAds];
}