Ios 如何知道何时删除UIViewController的子视图?

Ios 如何知道何时删除UIViewController的子视图?,ios,uiview,uiviewcontroller,Ios,Uiview,Uiviewcontroller,我正在使用TapJoy SDK在iOS上开发一个游戏应用程序。SDK有一种在应用程序顶部显示视图的方法: 我可以给函数一个UIVIewController参数,这样我就可以自己管理显示/隐藏 我创建了以下UIViewVoController: @interface MyViewController : UIViewController - (void) viewDidLoad; - (void) viewDidUnload; - (void) viewWillLoad; - (void) vi

我正在使用TapJoy SDK在iOS上开发一个游戏应用程序。SDK有一种在应用程序顶部显示视图的方法:

我可以给函数一个UIVIewController参数,这样我就可以自己管理显示/隐藏

我创建了以下UIViewVoController:

@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
[TapjoyConnect showFeaturedAppFullScreenAdWithViewController: [[MyViewController alloc] init]];
当TapJoy通知我功能应用可用时,我会使用我的视图控制器显示它:

@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
[TapjoyConnect showFeaturedAppFullScreenAdWithViewController: [[MyViewController alloc] init]];
TapJoy视图成功显示在我的游戏顶部

有两个问题:

控制台中仅打印viewDidLoad日志。不会打印任何其他日志消息 我想知道用户何时关闭了TapJoy视图,因此我可以在那时添加一些处理,但是没有调用视图控制器的其他功能。 我在这里看到了一些用户建议使用通知。不幸的是,由于我无法访问TapJoy SDK的源代码,我需要找到另一种方法

你有什么想法吗

提前谢谢


Mike

我可以通过创建一个自定义UIView来解决这个问题,我将其设置为UIViewController视图

接下来,我覆盖了这个自定义视图的willRemoveSubview函数

通过UIViewController的viewDidLoad功能,我知道何时显示视图,何时删除TapJoy视图,因此我也可以删除自定义视图