2011-12-20 61 views
1

我在iOS上使用TapJoy SDK作为游戏应用程序。 SDK可以在应用程序顶部显示视图:http://knowledge.tapjoy.com/integration-8-x/ios/pb/featured-app如何知道UIViewController的子视图何时被删除?

我可以给函数一个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 

当我通过丰富媒体通知功能的应用程序可用,我告诉我的使用视图控制器是:

[TapjoyConnect showFeaturedAppFullScreenAdWithViewController: [[MyViewController alloc] init]]; 

的丰富媒体观点已成功显示在我的游戏之上。

有2个问题:

  1. 只有viewDidLoad中日志被印刷在控制台中。没有其他日志消息被打印
  2. 我想知道用户何时关闭了TapJoy视图,因此我可以在那个时候添加一些处理,但视图控制器的其他功能都没有被调用。

我在这里看到有些用户建议使用通知。不幸的是,由于我无法访问TapJoy SDK的源代码,我需要找到另一种方法。

你有什么想法吗?

在此先感谢

迈克

回答

0

嗯,我可能会创建一个自定义的UIView,我设置为UIViewController的视图解决问题。

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

并且使用UIViewController的viewDidLoad函数,我知道何时显示视图,以及当TapJoy视图被移除时,我也可以移除我的自定义视图。

相关问题