我将TapJoy SDK用于iOS上的游戏应用程序。 SDK提供了一种在应用程序顶部显示视图的方法:http://knowledge.tapjoy.com/integration-8-x/ios/pb/featured-app
我可以给该函数提供UIVIewController参数,因此我可以自己管理显示/隐藏。
我创建了以下UIViewVontroller:
@interface MyViewController : UIViewController
- (void) viewDidLoad;
- (void) viewDidUnload;
- (void) viewWillLoad;
- (void) viewWillUnload;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
@end
@implementation MyViewController
- (void) viewDidLoad
{
self.view = GRAPHIC_SYSTEM::GetGlView();
NSLog(@"viewDidLoad");
}
- (void) viewDidUnload
{
NSLog(@"viewDidUnload");
}
- (void) viewWillLoad
{
NSLog(@"viewWillLoad");
}
- (void) viewWillUnload
{
NSLog(@"viewWillUnload");
}
- (void)viewWillAppear: (bool)animated
{
NSLog(@"viewWillAppear");
}
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"viewDidAppear");
}
- (void)viewWillDisappear:(BOOL)animated
{
NSLog(@"viewWillDisappear");
}
- (void)viewDidDisappear:(BOOL)animated
{
NSLog(@"viewDidDisappear");
}
@end
当TapJoy通知我有可用的功能应用程序时,我将使用视图控制器进行显示:
[TapjoyConnect showFeaturedAppFullScreenAdWithViewController: [[MyViewController alloc] init]];
TapJoy视图已成功显示在我的游戏顶部。
有两个问题:
控制台中仅打印viewDidLoad日志。没有其他日志消息被打印
我想知道用户何时关闭了TapJoy视图,因此我可以在那时添加一些处理,但是不会调用视图控制器的其他功能。
我在这里看到,有些用户建议使用通知。不幸的是,由于我无权访问TapJoy SDK的源代码,因此我需要寻找另一种方法。
你有什么想法?
提前致谢
麦克风
最佳答案
好吧,我可以通过创建一个自定义UIView(将其设置为UIViewController视图)来解决此问题。
接下来,我将覆盖此自定义视图的willRemoveSubview函数。
借助UIViewController的viewDidLoad函数,我知道何时显示该视图,以及何时删除TapJoy视图,因此我也可以删除自定义视图。